下文主要给大家带来MySQL5.7新增加的特性gtid基础,希望这些内容能够带给大家实际用处,这也是我编辑MySQL5.7新增加的特性gtid基础这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。
1, MySQL5.7新特性:gtid复制
①: gtid是什么
,,是事务的ID,唯一识别号,全局唯一。
,,随事务记录到二进制日志中,用来标识事务。
,,每个事务有一个Gtid_log_event又是;,,
②: GTID的构成
,,UUID +序列号
注意:序号是MySQL云服务器内部的一个事务顺序号。一个MySQL云服务器上的事务不会有重复的顺序号(保证云服务器内唯一)。
每个MySQL云服务器有一个全局唯一的UUID。
③: GTID的目的
,,简化复制的使用过程和降低复制集群维护的难度:不再依赖大师的binlog文件名和文件中的位置。
,,由MASTER_LOG_FILE=' Master-bin修改主。000010年,MASTER_LOG_POS=' 214 ';改为:修改主AUTO_POSITION=1;
④: AUTO_POSITION的原理
*: MySQL服务器记录了所有已经执行了的事务的GTID,包括复制过来的。
,,可用过系统变量Gtid_executed查看。
*:奴隶记录了所有从主接收过来的事务的GTID。
,,可通过Retrieve_gtid_set查看
*:奴隶连接到主时,会把gtid_executed中的gtid发给主人。主人会自动跳过这些事务,只将没有复制的事物发送到奴隶去。
⑤: MySQL5.7GTID在线启用gtid功能的优点
,,不需要重启MySQL云服务器。
,,配置过程在线,整个复制集群仍然对外提供读和写的服务。
,,不需要改变复制拓扑结构。
,,可以在任何结构的复制集群中在线启用GTID功能。
,,,更简单的搭建主从复制。
,,,比传统的复制更加安全。
,,,GTID是连续的没有空洞的,保证数据的一致性,零丢失。
⑥: GTID的开启场景
,,新系统搭建时直接开启GTID功能
,,,老系统升级到MySQL5.7后开启GTID功能
,,老系统开启GTID的复杂性
,,,复制集群中有的开启了GTID,有的没有开启。
,,,开启前的BINLOG中的事务没有GTID,开启后的有GTID
GTID启动过程中的模式:
,,全局系统变量GTID_MODE
,,,了,,,,,不产生GTID,,奴隶只接受不带GTID的事务
,,OFF_PERMISSIVE大敌;不产生GTID,,奴隶即接受不带GTID的事务也接受带GTID的事务
,,,ON_PERMISSIVE ,产生GTID,,奴隶即接受不带GTID的事务也接受带GTID的事务
,,,提醒;,,,,,产生GTID,,奴隶只接受带GTID的事务
⑦:简化的配置过程
, @@GLOBAL设置。GTID_MODE=OFF_PERMISSIVE;(在每一个云服务器上设置)
, @@GLOBAL设置。GTID_MODE=ON_PERMISSIVE;(在每一个云服务器上设置)
,等一段时间,让不带GTID的binlog事件在所有的云服务器上执行完毕。
, @@GLOBAL设置。GTID_MODE=;(在每一个云服务器上设置)
存储GTID到表中的目的:
,,支持奴隶不开启Binlog的场景
,,,有些奴隶永远不会被切换成主人。不开启binlog,可以节省空间,提高性能。
,,,MySQL5.6上GTID只能存储在binlog中,所以必须开启binlog才能使用GTID功能只,,
,,MySQL5.7则不需要开启binlog了。
如何记录GTID到表中
,,如果开启了binlog,在切换binlog时,将当前binlog的所有GTID插入gtid_executed表中。插入操作等价于一个或多个插入语句。
插入mysql。gtid_executed (UUID, 100)
如果没有开启binlog,每个事务在提交之前,会执行一个等价的插入的操作。此操作是该事务的一部分,和事务的其他操作整体保持原子性。
开始,
…
插入mysql。gtid_executed (UUID、101、101);
提交;
gtid_executed表的压缩:
压缩前
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
| source_uuid,,,,,,,,,,,,,| interval_start | interval_end |
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
| xxxxxxxx - 4733 - 11 - e6 - 91 - fe - 507 b9d0eac6d |,,,,,,1 |大敌;,,,,,1 |
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
| xxxxxxxx - 4733 - 11 - e6 - 91 - fe - 507 b9d0eac6d |,,,,,,2 |大敌;,,,,,2 |
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +