快速修复mysql 5.7 gtid主从1032 1062等错误
今天在原有的主从基础上,新搭建了个从服务器,用xtrabackup备份主库来进行的还原,没想到才同步了一会就出现主从不同步问题了,开始我还以为是我mysql版本不一致造成的,换成一样的版本了还是一会就不同步了,报错误如下:
2019-03-05T01:48:12.119171Z 2 [ERROR] Slave SQL for channel '': Could not execute Update_rows event on table qx_lottery.lot_task; Can't find record in 'lot_task', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log master-bin.004219, end_log_pos 221303637, Error_code: 1032
2019-03-05T01:48:12.119187Z 2 [Warning] Slave: Can't find record in 'lot_task' Error_code: 1032
系统:centos 7.x(64位)
软件版本:mysql 5.7(64位)
解决办法:
mysql>stop slave;
mysql>set global slave_exec_mode='IDEMPOTENT'; #改为幂等模式 (默认是STRICT严格模式)
mysql>start slave;
mysql>show slave status\G
可以看到主从已经同步了,再看看slave_exec_mode参数的状态.
mysql>show variables like 'slave_exec_mode';
+-----------------+------------+
| Variable_name | Value |
+-----------------+------------+
| slave_exec_mode | IDEMPOTENT |
+-----------------+------------+
1 row in set (0.00 sec)
ps:
可以看看这篇文章说得很详细.
http://seanlook.com/2018/03/11/mysql-replication-error-and-idempotent/
评论: