Инструменты пользователя

Инструменты сайта


wiki:technical:restore-replication-from-dump

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
wiki:technical:restore-replication-from-dump [2023/10/04 21:33] – [Скрипт для SLAVE] Dimanwiki:technical:restore-replication-from-dump [2023/10/04 22:13] (текущий) – [Скрипты для выполнения репликации] Diman
Строка 91: Строка 91:
  
 ===== Скрипты для выполнения репликации ===== ===== Скрипты для выполнения репликации =====
 +
 +Как и любая рутинная работа, регулярное выполнение репликации надоедает. Разработчикам пополам на то, что внесение изменений в структуру БД вызывает ее расслоение и админы страдают и зеленеют от восторга. Пришлось написать пару скриптов для синхронизации БД и подъеме реплики, когда все уже развалилось
 +==== Скрипт для мастера ====
 +
 +<code bash>
 +#/bin/bash
 +
 +SLAVE="192.168.1.2 -p65522"
 +MysqlPass='passppaSS4word'
 +DbList="db1 db2 db3 db4 db5 db77"
 +
 +#--
 +LOG=/tmp/dump-db.txt
 +
 +log(){ echo "$(date '+%F %T') $@" >> $LOG; echo "$(date '+%F %T') $@";}
 +
 +log "start>>>"
 +
 +FILE=$(mysql -e "show master status\G" | grep File | awk '{print $2}' | xargs)
 +POS=$(mysql -e "show master status\G" | grep Position | awk '{print $2}' | xargs)
 +log  "File $FILE, POSITION $POS"
 +
 +for db in $DbList; do
 +  log "start dump $db"
 +  mysqldump -u root -p$MysqlPass --add-drop-table --insert-ignore --skip-lock-tables --single-transaction=TRUE -B $db 2>/dev/null |gzip -c |ssh $SLAVE "cat > /root/$db-sql.gz"
 +  log "end dump $db"
 +done
 +
 +log "start resore in $SLAVE"
 +ssh $SLAVE "/bin/bash /root/restore.sh $FILE $POS &"
 +log "end restore in $SLAVE"
 +log "-=end=-"
 +
 +
 +</code>
 +
 ==== Скрипт для SLAVE ==== ==== Скрипт для SLAVE ====
  
Строка 97: Строка 133:
 #!/bin/bash #!/bin/bash
  
-MASTER_IP=91.1.22.22 +MASTER_IP='192.168.1.1'
 ARX_PATH='/root' ARX_PATH='/root'
 ##-- ##--
wiki/technical/restore-replication-from-dump.1696444397.txt.gz · Последнее изменение: 2023/10/04 21:33 — Diman

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki