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

 

posted @ 2024-01-22 16:25  黑客的黑  阅读(126)  评论(0编辑  收藏  举报