一、从库不同步主库的数据
原因分析:数据同步报错导致。
show slave status
查看Slave_IO_Running、Slave_SQL_Running
如果都是NO,或一个是NO都会出现不同步的情况。
Last_SQL_Error 通过此字段查看错误问题,进行处理
二、解决办法(修复)
处理掉一中的错误sql
执行
start slave sql_thread;
show slave status
Slave_IO_Running、Slave_SQL_Running变YES;
Seconds_Behind_Master为从落后主的时间,为0的时候就说明已经追赶上了。
三、解决办法(全局)
清除所有数据(从库),重新同步
1、从库操作
-- 停止slave
stop slave
-- 重置slave
reset slave all
--删除同步的数据
drop database db*
2、主库操作
-- 查看状态
show master status
查看position的数值,如果多次查询有变化,就说明对数据有操作。
-- 重置master
reset master
-- 锁表只读
flush tables with read lock
此时进行备份,还原从库(此处不作详述)
3、从库操作
-- 重新建立关系 子厚两个参数查看master状态即可 和主库保持一致
change master to master_host = '192.168.22.22', master_user = 'user', master_port=3306, master_password='pwd', master_log_file = 'mysqld-bin.000001', master_log_pos=1234;
-- 启动slave
start slave
4、主库解锁
unlock tables
5、查看从库状态
-- 查看slave状态
show slave status
查看Slave_IO_Running、Slave_SQL_Running的值,都为YES就说明没问题,主库写入数据测试即可。