GTDI是服务器和事务序列号的一对坐标,用冒号分割
GTID = source_id:transaction_id
source_id标识的原始服务器。transaction_id是通过在事务提交源上的顺序确定一个序列号
例:3E11FA47-71CA-11E1-9E33-C80AA9429562:23 #指定服务器的第23个事务
GTID集是包括一个或多个单个GTID或一系列GTID的集。;GTID范围用冒号分隔
例如:3E11FA47-71CA-11E1-9E33-C80AA9429562:1-5
3E11FA47-71CA-11E1-9E33-C80AA9429562:1-3:11:47-49
GTID集可以包括单个GTID和GTID范围的任意组合,并且可以包括源自不同服务器的GTID。
2174B383-5441-11E8-B90A-C80AA9429562:1-3, 24DA167-0C0C-11E8-8442-00059A3C7B00:1-19
GTID对于源服务器是唯一的,在复制拓扑中也是唯一的
系统表mysql.gtid_executed用于保留MySQL服务器上已分配应用的所有事务的GTID。(未写入副本的gtid也会保留,gtid按顺序生成,不会跳过)
启用了二进制日志,每当重置二进制日志或关闭服务器时,服务器都会将前一个二进制日志的所有事务的GTID写入mysql.gtid_executed表中,如果服务器意外停止,则当前二进制日志文件中的GTID集不会保存在mysql.gtid_executed表中。在恢复期间,这些GTID从二进制日志文件添加到表中。
未包含GTID事务的二进制日志不能在启用了GTID的服务器上使用
为了节省空间通过设置gtid_execu