发现都有一个字段 eventid, 当我们对表 events 中的 eventid 字段进行操作外之后导致 event_recovery 不能 insert 数据了, 所以我们要跳过去, 那怎么跳过去呢?
首先我们在从库上执行: stop slave;
其次执行: SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
最后其从线程: start slave;
我们再查看状态:
OK, 到此问题解决完毕.
提示: 大家别滥用 SET GLOBAL SQL_SLAVE_SKIP_COUNTER = n;(跳过为一个 Binlog event group, 也就相当于一个事务), 所以当我们执行这个操作的时候要看看我们要跳过的是什么怎么查看呢
根据 slave status 中的 Relay_Log_File 和 Relay_Log_Pos 两个值 , 先查看当前被中断的 binlog event group 操作是什么?
查看的命令:
show relaylog events in "Relay_Log_File" from Relay_Log_Pos limit n;
好了这个问题到此告一段落, 整理成笔记以便以后出现类似问题查看.
来源: http://blog.51cto.com/13120271/2177077