一、背景
该案例仅用于学习参考
二、GTID基础知识
1、 GTID: 全局事物ID(Global Transaction ID),在整个事务架构中每一个事务ID号是全局唯一的,不止是在一个节点上而是整个主从复制架构中每任何两个事务的ID号都不会相同。
2、GTID就是由当前节点的UUID(一个128位的随机数)和为当前节点生成的自增数(TID)组成的。
3、GTID在分布式架构中可以保证数据的一致性。从而也实现了mysql的高可用性。
4、MySQL 5.6开始支持。 GTID在复制中代替原有的binlog file和file posistion复制定位。
5、GTID格式:
GTID = source_uuid:transaction_id
source_uuid是发起事务服务器的server_uuid,是一个MySQL实例的唯一标识,可以通过show variables like 'server_uuid'查看。transaction_id代表了该实例上已经提交的事务数量,是一个单调递增的序列号,从1开始,1-2代表第二个事务;第1-n代表n个事务
GTID复制拓扑中,无论事务被复制了多少次,事务的GTID都保持不变。一旦某个事务在服务器上提交后,后续所有相同GTID的事务都会被忽略,这种机制可以有效避免重复复制的现象,保持数据一致。
示例1:7a7f2A47-71CA-11E1-9E33-00163e429562:1