端午假期期间,突然收到报警服务器发送双主mysql服务器进程状态有问题。
检查日志发现这个错误:
[ERROR] Slave SQL for channel '': Could not execute Write_rows event on table proxy.image_check_cache; Duplicate entry 'xDCxD3xF2ixE7xE3xBBxE8+x91x82x
A0x0BxD4x11VixF3x04' for key 'PRIMARY', Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the event's master log mysql2-bin.000012, end_log_pos 588932786, Error_code: 1062
经查看是主键冲突的问题,导致在写入数据的时候造成冲突。
解决办法:
mysql 主键冲突解决办法(1062错误)
stop slave;
set global slave_exec_mode=idempotent;
start slave;
两台服务器都要做。
配置文件:
slave_exec_mode=IDEMPOTENT
具体参数:https://dev.mysql.com/doc/refman/5.7/en/replication-options-slave.html#sysvar_slave_exec_mode