生产环境上的主从复制集群,因为一些异常或人为原因,在从库做了一些操作,导致主从同步失败。一般修复起来比较麻烦,通过重做mysql从库的方式来解决。重做过程中不影响主库,可放心使用。
在主库上的操作步骤
备份主库所有数据,并将dump.sql文件拷贝到从库/tmp目录
mysqldump -uroot -p --set-gtid-purged=OFF --single-transaction --master-data=1 --all-databases > dump.sql
备注:
--master-data=1
参数是在备份文件中有 CHANGE MATER TO xxxxx
命令,对备库有用,默认值为1,如果为2,就是把该条语句注释了。--single-transaction
参数是mysqldump在全量数据导入是对锁的一些处理,都应该加上该参数从库操作
通过mysql-client使用root用户登录上mysql
停止从库:stop slave;
重置从库:reset slave all
;
导入主库的数据:source /tmp/dump.sql
查看dump.sql文件里面主库同步的位点:
在从库上配置主库信息:
CHANGE MASTER TO MASTER_HOST='192.168.34.253',MASTER_USER='repl',MASTER_PASSWORD='xxxxxxxxxxxxxxxx',MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=568519;
开启同步:start slave;
查看同步状态:show slave status\G;
验证同步结果:可以在主库上插入删除一些数据做验证