由于不是专业的dba 所以遇到问题都是慢慢摸索着处理,如果有错 还请大佬们指正
#主从同步出现报错
#优先选择铲掉重新建立主从关系.因为不能确保数据完全一致.
首先在slave库上通过
show slave status\G;
查看slave 信息.看到报错信息.如果报错信息有多个.优先处理pos比较小的那个.
根据报错信息和pos的位置
到master库里执行
SHOW BINLOG EVENTS in 'mysql-bin.000006' \G;
SHOW BINLOG EVENTS in 'mysql-bin.000006' from 22510 \G ; 也是可以的 但是看不到22510的上一条,下图为SHOW BINLOG EVENTS in 'mysql-bin.000006' from 22510 \G;的结果
然后根据显示的binlog日志 找到对应报错的行. 一行为一个事件
在slave库上确保报错位置之前和当前位置的binlog内容已经执行,手动执行下一个时间,执行完成之后,通过
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1 ;
跳过这个错误事件,
stop slave;停止slave
start slave;启动slave
show slave status\G;继续查看slave 信息
如果仍有报错依旧按照上面的方法处理,最终可以看到slave上的pos位置赶上master.
并且主从也显示同步.
##主从同步出现延迟
可以通过show slave status\G;
显示的Seconds_Behind_Master: 0 这个查看