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

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


wiki:technical:restore-replication-from-dump

Это старая версия документа!


Восстановление репликации master-slave MySQL

Действия на мастере

# На мастере запоминаем текущую позицию и имя файла:
 
mysql> show master status\G
*************************** 1. row ***************************
File: mysql-bin.045317
Position: 41951754
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
1 row in set (0.00 sec)  
# На мастере выполняем дамп нужной БД и переливаем ее на Slave:
 
mysqldump -u root -p'$PASSWD' $DB_NAME --add-drop-table parsers  | gzip -c | ssh $IP-SLAVE 'cat > /root/dump.sql.gz'

На слейве

# На слейве разворачиваем дамп в БД:
 
zcat /root/dump.sql.gz | mysql -u 'root' -p'$PAsswd' $DB_NAME
 
# На слейве меняем файл и позицию 
mysql> CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.045317', MASTER_LOG_POS=41951754;
 
# И стартуем репликацию:
mysql> START SLAVE;

Если не заливается по причине того, что есть разница в составе таблиц, то можно сделать так:

mysqldump  --add-drop-table --no-data $DB_NAME | grep ^DROP | sed -e 's/DROP TABLE IF EXISTS/TRUNCATE TABLE/g' | mysql  $DB_NAME
wiki/technical/restore-replication-from-dump.1661439880.txt.gz · Последнее изменение: 2022/08/25 18:04 — Diman

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki