重置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 --opt --flush-logs --events --triggers --routines --master-data=2 --databases db1 db2 > db.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;

RESET MASTER;

change master to  master_host='192.168.1.189',master_user='repl',master_password='123456',master_port=3306,master_auto_position= 1 ;
10.开启slave服务
START SLAVE;
11.检查同步转态
SHOW SLAVE STATUS\G
将出现两个yes,检查同步状态,一切正常。

posted @ 2021-09-02 15:40  雪竹子  阅读(2670)  评论(0编辑  收藏  举报