故障处理:记一次MYSQL主从sql线程not_running
我是本际云服务器推荐网的小编小本本,今天给大家分享一下我在处理MYSQL主从sql线程not_running故障时的经验。

故障现象及日志报错
在处理这个故障时,发现主从线程未running,同步中断并出现以下错误日志:
Could not execute Write_rows event on table skdata_2021.xxx_fpmx; Duplicate entry ‘043002000111-01278925’ for key ‘ak_key_2’, Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the events master log master-bin.000403, end_log_pos 333202176
处理步骤
经过一番排查,我采用了以下两种方法进行故障处理:
方法一:用于数据量较小的情况。通过查询相关记录并备份主库记录,删除从库中的重复记录。
方法二:用于数据量较大的情况。操作如下:
- 从库操作show variables like %slave_exec_mode%; set global slave_exec_mode=IDEMPOTENT; stop slave; start slave;
- 确认主从无延迟及确认数据一致操作完后,修改回去,操作如下:
- set global slave_exec_mode=STRICT; stop slave; start slave;
- UPDATE报错:Could not execute Update_rows event on table skdata_2021.qrtz_scheduler_state; Can’t find record in qrtz_scheduler_state, Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the events master log master-bin.000403, end_log_pos 333327330
- 使用mysqlbinlog主库操作,找出更新前记录,在从库插入执行,再启动slave sql进程。
更多关于故障处理的干货分享,欢迎关注本际云服务器推荐网。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6064.html
