MySQL主从同步的过程中,可能会因为各种原因出现主库与从库不同步的情况,网上虽然有一些解决办法,但是有时很难彻底解决,重置主从服务器也许不是最快的办法,但却是最安全有效的。
下面将自己重置主从同步的步骤总结一下,以备不时之需。master与slave均使用:假设有db1,db2两个数据库需要热备。
(文中shell与mysql均使用root账号,在真实环境中,请根据情况更换。)
1. 停止slave服务器的主从同步
STOP SLAVE;
2.对master服务器的数据库加锁
FLUSH TABLES WITH READ LOCK;
3.备份master上的数据
mysqldump -u root -p -databases db1 db2 > bak.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;
9.重置slave服务
RESET SLAVE;
10.开启slave服务
START SLAVE;
11.检查同步转态
SHOW SLAVE STATUS\G
将出现两个yes,检查同步状态,一切正常。