mysql 5.6 GTID复制的一个BUG

        mysql 5.6.10版本 GTID模式时,备机salve线程执行SQL,主键冲突的话会导致自己的binlog异常,此时如果有其他备机以这台备机作为主机,会出现复制异常。
 现象:
备机主从同步异常,show slave status\G 显示出错信息

 
  
测试环境模拟:
一、12.7.4.53 环境作为主库
二、192.168.199.131 环境开启,作为备机。
--gtid-mode=ON --log-bin --log-slave-updates --enforce-gtid-consistency --slave_skip_errors=all
CHANGE MASTER TO MASTER_HOST= '12.7.4.53',MASTER_PORT=3306, MASTER_USER='root',MASTER_PASSWORD='8898',MASTER_LOG_FILE='mysql-bin.000017', MASTER_LOG_POS=5188, master_Auto_Position=0;
三、192.168.199.132 环境开启,作为131的备机。
四、53 主库建立demo_test表
<!--StartFragment-->CREATE TABLE `demo_test` (
`c1` varchar(32) NOT NULL DEFAULT '',
`c2` varchar(1024) DEFAULT NULL,
`c3` int(11) DEFAULT NULL,
`c4` bigint(20) unsigned DEFAULT NULL,
`c5` int(11) DEFAULT NULL,
PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
 
四、131备机先插入一条记录,主键4先占用
INSERT INTO demo_test VALUES (4,1,1,1,1);
 
五、53主机插入数据
BEGIN;
INSERT INTO demo_test VALUES (3,1,1,1,1);
INSERT INTO demo_test VALUES (4,1,1,1,1);
COMMIT ;
数据主库插入成功


 
binlog成功生成事物
 

 
六、31备机binlog异常
备机生成了部分binlog, 没有将事物作为整体回滚。

 
7、此时132主从同步失败
  Last_SQL_Error: Cannot execute the current event group in the parallel mode. Encountered event Xid, relay-log name ./localhost-relay-bin.000002, position 46782787 which prevents execution of this evf a group that is unsupported in the parallel execution mode.
 
结论:淘宝没用5.6看来是有原因的,边边角角的逻辑还是有潜在的BUG。

猜你喜欢

转载自zjjxxl.iteye.com/blog/1909136