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
`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。
相关推荐
MySQL 5.6是MySQL数据库管理系统的一个重要版本,它在2013年发布,带来了许多新特性和性能提升。这个“mysql5.6安装文件-完美”压缩包包含的是MySQL 5.6的安装程序,即“mysql-installer-community-5.6.10.1.msi”,...
MySQL 5.6是MySQL数据库管理系统的一个重要版本,它在MySQL的版本历史中引入了许多增强功能和优化。这个“mysql5.6-rpm.rar”压缩包包含的是针对Linux系统的RPM(Red Hat Package Manager)安装包,使得用户可以通过...
MySQL 5.6是MySQL数据库管理系统的一个重要版本,它提供了许多功能增强和性能优化,尤其适合那些希望快速部署数据库服务而无需经历复杂安装过程的用户。这个“mysql5.6免安装版”是一个预编译的二进制版本,用户只需...
GTID 是一个全局唯一标识,用于标记已提交的事务,由两部分组成:UUID 和 TID。UUID 是每个 MySQL 实例的唯一标识,而 TID 表示该实例上已提交的事务计数,随着事务提交而递增。 GTID 的主要作用在于: 1. **跟踪...
3. **创建复制用户**:在 MySQL 命令行中创建一个专门用于复制的用户。 ```sql GRANT REPLICATION SLAVE ON *.* TO 'backup'@'%' IDENTIFIED BY '123456'; FLUSH PRIVILEGES; ``` 4. **测试连接**:在从服务器...
MySQL 5.6是MySQL数据库管理系统的一个重要版本,专为32位Windows操作系统设计。MySQL是一种广泛使用的开源关系型数据库,以其高效、可靠和灵活的特点赢得了全球开发者的喜爱。在这个5.6版本中,MySQL引入了许多增强...
MySQL 5.6 作为 MySQL 的一个重要版本,在原有基础上进行了大量的优化与改进,尤其是在查询性能、高可用性等方面有着显著提升。 #### 二、MySQL 5.6 主要特性 1. **增强的查询性能**:MySQL 5.6 引入了多种新功能...
官方文档:http://dev.mysql.com/doc/refman/5.6/en/replication-gtids.html在这篇文档里,我们可以知道GTID(全局事务 ID) 的官方定义是:GTID实际上是由UUID+TID组成的,其中UUID是一个MySQL实例的唯一标识,TID...
MySQL 5.6是MySQL数据库管理系统的一个重要版本,它在5.5的基础上进行了多项改进和优化,以提供更高效、稳定的服务。这个“mysql5.6.zip精简解压版”是一个特别为用户定制的轻量级版本,体积小巧,只有39MB,相比...
6. **半同步复制**:为了解决主从复制中的数据一致性问题,MySQL 5.6引入了半同步复制(Semisynchronous Replication),保证至少有一个从服务器接收到并写入二进制日志后,主服务器才会返回确认。 7. **...
- 登录主服务器的MySQL客户端,创建一个专门用于复制的账户,并赋予replication slave权限。 - 命令示例: ``` grant replication slave on *.* to 'backup'@'**.*.*.*' identified by '111111'; ``` - 使用 `...
MySQL 5.6引入了半同步复制(Semi-Synchronous Replication),确保在主库上的事务在至少被一个从库接收后才被认为是提交的,增强了数据的一致性。同时,5.6版还支持并行复制,允许从库上的多个线程并行应用来自主库...
MySQL 5.6 从库复制的部署与监控是数据库管理中的重要环节,它涉及到数据的安全备份、故障恢复以及性能优化。以下将详细介绍这一过程。 首先,MySQL 5.6 的安装与部署需要遵循一系列步骤: 1. **下载安装包**:...
MySQL 5.6是MySQL数据库管理系统的一个重要版本,它带来了许多增强特性和性能优化,旨在提升数据库的稳定性和效率。MySQL是一种广泛使用的开源关系型数据库系统,尤其在Web应用程序中非常流行。以下是对MySQL 5.6...
MySQL 5.6版本引入了诸如InnoDB性能提升、半同步复制、在线DDL操作、优化器改进、GTID复制、多线程复制、全文搜索改进、性能模式、信息模式以及空间索引等新特性,使得MySQL 5.6在性能和可用性方面都有显著的提升。...
MySQL 5.6 版本是 MySQL 5.x 系列中的一个重要版本,该版本在多个方面进行了优化和改进,尤其在性能提升、存储引擎增强以及复制功能等方面有着显著的进步。 #### 二、MySQL 5.6 主要特性 ##### 1. 性能改进 - **...
MySQL 5.6是MySQL数据库管理系统的一个重要版本,它在MySQL系列中占据着核心地位,尤其对于那些需要稳定性和性能的项目来说。这个版本在2013年发布,为用户带来了许多增强的功能和改进。这里我们将深入探讨MySQL 5.6...