mysql8.0主从不一致,重新同步从库
背景:线上宕机,导致数据不一致,当时为了快速恢复业务,仅使用主库,现在需要恢复,因为主从数据相差比较大,所以对从库重新进行同步。
1、首先重置从库的同步设置、并清除从库不一致数据
1)#停止slave
stop slave;
#重置slave,会重置从库相关设置。
reset slave all;
2)#清除已同步数据库
drop database `***`;
2、重置主库同步设置,锁定主库,备份主库
1)多次查看主库状态
show master status;
发现每次position位置都不同,说明主库数据一直在变,现在不能备份,需要在晚上人少的时候锁库备份。
2)#重置主库同步设置
RESET MASTER;
3)#锁定主库,只能读
FLUSH TABLES WITH READ LOCK;
4)#查看锁定状态下主库的binlog和位置
重置后和锁库后的binlog的位置可能有变化,取锁库后的就行。
5)备份数据,在linux命令行执行,不要在数据库内执行。
mysqldump –h(ip***) –P(port***) –u(user***) –p(pwd***) --all-databases > /master-dump.sql
6)查看备份文件,解锁主库
#解锁主库
UNLOCK TABLES;
3、从库数据恢复,修改从库同步设置,启动从库
1)因为直接对线上库操作,所以用的保守方法:先把备份sql传到从库,进入从库mysql,再使用 source / master-dump.sql ,如果数据量较大,执行需要一段时间
下边是执行完毕后可以查看同步过来的数据库信息
2)修改从库同步设置,因为重置设置,所以用户名端口要再设置,赋值后查看
3)打开从库同步,两个yes,代表成功,可以自己验证了
转载:https://blog.csdn.net/MR_Wxm/article/details/107605741?spm=1001.2101.3001.6650.7&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-7-107605741-blog-132781321.235%5Ev40%5Epc_relevant_3m_sort_dl_base2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-7-107605741-blog-132781321.235%5Ev40%5Epc_relevant_3m_sort_dl_base2&utm_relevant_index=14