设为首页 加入收藏

TOP

MySQL5.6 新特性之GTID
2015-08-31 20:00:10 来源: 作者: 【 】 浏览:51
Tags:MySQL5.6 特性 GTID

背景:


? ? ? MySQL5.6在5.5的基础上增加了一些改进,本文章先对其中一个一个比较大的改进"GTID"进行说明。


概念:


? ? ? GTID即全局事务ID(global transaction identifier),GTID实际上是由UUID+TID组成的。其中UUID是一个MySQL实例的唯一标识。TID代表了该实例上已经提交的事务数量,并且随着事务提交单调递增。下面是一个GTID的具体形式:


更具体的说明见官方说明


GTID意义:


? ? ? 引入GTID的意义是什么?


? ? ? 1)因为清楚了GTID的格式,所以通过UUID可以知道这个事务在哪个实例上提交的。



这个问题在5.6的GTID出现后,就显得非常的简单。由于同一事务的GTID在所有节点上的值一致,那么根据Server3当前停止点的GTID就能定位到Server2上的GTID。甚至由于MASTER_AUTO_POSITION功能的出现,我们都不需要知道GTID的具体值,直接使用CHANGE MASTER TO MASTER_HOST='xxx', MASTER_AUTO_POSITION命令就可以直接完成failover的工作。


测试:


1)复制环境的搭建:具体的复制搭建的步骤可以在网上搜索


因为支持GTID,所以5.6多了几个参数:


主从环境的搭建和5.5没有什么区别,唯一需要注意的是:开启GTID需要启用这三个参数:


任意一个参数不开启则都会报错:


具体的方法可以参考官方文档


三个实例开启之后(3306、3307、3308),执行change的时候也要注意:


各个实例的uuid:


使用5.6之前的主从change:


报错:


当使用?MASTER_AUTO_POSITION 参数的时候,MASTER_LOG_FILE,MASTER_LOG_POS参数不能使用。


使用5.6之后的主从change:


从总体上看来,由于要支持GTID,所以不需要手工确定主服务器的MASTER_LOG_FILE及MASTER_LOG_POS。要是不需要GTID则需要指定FILE和POS。在2个从上执行上面命令,到此主从环境搭建完成。GTID的主从完成之后可以通过show processlist查看:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇MongoDB升级用户授权数据到2.6格式 下一篇关于MySQL密码你应该知道的那些事

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·nginx 监听一个端口 (2025-12-25 00:19:30)
·整个互联网就没有一 (2025-12-25 00:19:27)
·囧次元最新官网入口 (2025-12-25 00:19:24)
·如何利用Python做数 (2025-12-24 23:48:36)
·如何使用python进行 (2025-12-24 23:48:34)