MySQL主从同步异常解决办法
编辑
26
2023-12-11
来源:CSDN-a2589293499
日期:2019-07-04 14:52:44
链接:https://blog.csdn.net/a2589293499/article/details/94617907
主从同步共有两个进程,I/O线程(stop slave IO_THREAD;)和SQL线程(stop slave SQL_THREAD;)
I/O线程会维护master.info信息的更新
一、查看同步异常问题
登录mysql从库,查看同步状态,发现Slave_SQL_Running状态不正常,Last_Error提示主存同步失败的问题。
mysql -u root -p
mysql> show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: No
二、解决方案-跳过错误
跳过一步错误,继续同步
mysql> stop slave;
mysql> set global sql_slave_skip_counter =1;
mysql> start slave;
查看同步状态
mysql> show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
恢复正常
三、解决方案-重新同步
登录主库mysql,加只读锁
mysql -uroot -ppassword
mysql> flush tables with read lock;
mysql> exit
备份数据(数据量大的话,时间会很长)
mysqldump -uroot -p -hpassword > /tmp/mysql.bak.sql
传递到从库
scp /tmp/mysql.bak.sql root@192.168.0.200:/tmp/
登录到从库mysql
mysql -u root -p
停止同步
mysql> stop slave;
导入数据
mysql> source /tmp/mysql.bak.sql
重新设置从库同步,同步点是主库show master status信息里的File、Position两项
CHANGE MASTER TO
MASTER_HOST='192.168.0.100',
MASTER_USER='slave1',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000005',
MASTER_LOG_POS=154;
开启同步
mysql> start slave;
查看同步状态是否回复正常,Slave_IO_Running和Slave_SQL_Running都为Yes表示正常
mysql> show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
切回主库,关闭主库只读锁
mysql> unlock tables;
- 0
- 0
-
赞助
赞赏 -
分享