重置mysql主从同步:reset master和reset slave MySQL主从同步的过程中,可能会因为各种原因出现主库与从库不同步的情况,网上虽然有一些解决办法,但是有时很难彻底解决,重置主从服务器也许不是最快的办法,但却是最安全有效的。
下面将自己重置主从同步的步骤总结一下,以备不时之需。master与slave均使用:假设有db1,db2两个数据库需要热备。
(文中shell与mysql均使用root账号,在真实环境中,请根据情况更换。)
1.停止slave服务器的主从同步
STOP SLAVE;
2.对master服务器的数据库加锁
FLUSH TABLES WITH READ LOCK;
3.备份master上的数据
mysqldump -uroot -p --single-transaction --set-gtid-purged=OFF --all-databases --triggers --routines --events > /data/xxxx.all.sql
4.重置master服务
RESET MASTER;
5.对master服务器的数据库解锁
UNLOCK TABLES;
6.将master上的备份文件拷贝到slave服务器上
scp -r root@XXX.XXX.XXX.XXX:/root/bak.sql ./
7.删除slave服务器上的旧数据
DROP DATABASE db1;
DROP DATABASE db2;
8.导入数据
SOURCE /root/bak.sql;
也可以在linux命令行中使用
mysql -u root -p </data/xxx.sql
9.重置slave服务
master_host='IPdizhi',master_user='repl',master_password='PASSWORD',master_port=3306,master_auto_position= 1;
10.开启slave服务
START SLAVE; 11.
检查同步转态
SHOW SLAVE STATUS\G 将出现两个yes,检查同步状态,一切正常。