快速恢复mysql master-master同步

系统出现错误导致2个Master之间出现不一致。需要立刻同步。
由于错误出现的时间超过了binlog的保留范围(已经被清除),所以只能重新做。

1. 用mmm_control 关闭对应节点
mmm_control set_offline db11
mmm_control set_offline db2

2. 重置master/slave(db2,db11)
reset master;
reset slave;
slave stop

3. 复制最新的master到后备master(from db2 to db11)
使用 mk-parallel-dump和mk-parallel-restore 安全,快速。
xtrabackup 也可以,但不够快速和安全,且需要各个节点配置完全一样。

4. 重新启用replication
db2:
change master to master_host=’192.168.8.11′,master_user=’xxxxxx’,master_password=’xxxx’, master_log_file=’mysql-bin.000001′,master_log_pos=0;
db11:
change master to master_host=’192.168.8.2′,master_user=’xxxxx’,master_password=’xxxx’, master_log_file=’mysql-bin.000001′,master_log_pos=0;

both:
slave start
show master status\G
show slave status\G

5. set db online
mmm_control set_online db2
mmm_control set_online db11

完毕。

Comments

Leave a Reply