主从同步常见故障

阅读: 评论:0

主从同步常见故障

主从同步常见故障

1、在master上删除一条记录,在slave上找不到。

Last_SQL_Error.Could not execute Delete_rows event on table ….Error_code:1032……

2、主键冲突,在slave已经有该记录,     又在master上插入了同一条记录

Last_SQL_Error.Could not execute Write_rows event on table…… Error_Code :1062……

3、在master上更新一条记录,在slave上找不到数据

Last_SQL_Error.Could not execute Update_rows event …… Error_Code: 1032……

以上三种情况在HA切换过程中,由于异步复制且sync_binlog=0 时,会造成小部分binlog 没接受完而导致报错。

4、slave中继日志损坏

Last_SQL_Error:Error initializing relay log postion: I/O error reading the header from the binary log

Last_SQL_Error:Error initializing relay log positon:Binlog has bad magic number:it’s not a binary log file that can be used by this version of MySQL.

Slave 宕机或非法关机,电源故障、硬件故障,造成中继日志损坏。

解决方法:

对于第一种情况: master要删除一条记录,而slave上找不到相应记录而报错。Master上已经删除,slave 并没有改记录,可以直接跳过:

Stop slave ; set global sql_slave_skip_counter=1;start slave;

对于监控的情况: 出现情况报警,如何控制呢? 调用脚本?

对于第二种情况的处理:对于重复的记录,需要删除重复的键值。!

第三种情况: master更新的记录,在slave上找不到。通过 Mysqlbinlog 分析出真实的语句,将slave缺少的记录进行手动填充。!

第四种:找到salve 同步执行到master的位置。重新做同步。

       查找变量:

       Relay_Master_Log_File:

       Exec_Master_Log_Pos:

       从这两个位置重新同步。

如果业务允许的话,可以设置下面两个变量:

slave-skip-errors=1022,1032,1062 (必须在 myf中进行设置,只读的系统变量)

(1022 :Message: Can't write; duplicate key in table '%s')

(1032: Message: Can't find record in '%s')

(1062: Message: Duplicate entry '%s' for key %d)

slave_exec_mode (可在全部变量中进行设置)

可选项为STRICT(默认)和IDEMPOTENT 模式, STRICT遇到任何问题,都会导致复制的停止。

IDEMPOTENT 对于 duplicate key 和 no-key-found错误跳过。

本文发布于:2024-02-02 09:56:18,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170683897943032.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:主从   常见故障
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23