MySQL5.7 开启GTID复制模式终于不用开启log_slave_updates参数了-阿里云开发者社区

开发者社区> 数据库> 正文

MySQL5.7 开启GTID复制模式终于不用开启log_slave_updates参数了

简介:

MySQL5.6的GTID复制模式,必须开启log_slave_updates参数,否则启动就报错,因为需要在binlog找到同步复制的信息(UUID:事务号),如果在密集型写的环境,比如双十一大促在线支付,这无疑增加了从库不必要的磁盘IO开销。

wKiom1RrBTLyonpmAAF1WPY7xsY589.jpg

(注:开启log_slave_updates参数,是把relay-log里的日志内容再记录到slave本地的binlog里。)


但在MySQL5.7里,官方终于做了调整,用一张gtid_executed系统表记录同步复制的信息(UUID:事务号),这样就可以不用开启log_slave_updates参数,减少了从库的压力。

wKioL1RrDDuhFxJDAAKyEyfsYGI574.jpg


如果你玩过MariaDB10的话,可以看到这块MySQL5.7是参考了MariaDB10的GTID,但MySQL5.7还不能做到普通模式和GTID模式在线切换,如果你想切换为普通模式,必须在my.cnf里,同时在master和slave上注销掉以下参数:

1
2
gtid_mode = ON
enforce_gtid_consistency = 1

并且重启mysql进程才生效。在易用性上,MySQL5.7 GTID还是美中不足。


参考:

wKiom1RrD0uzM54bAAEkVpk-UFA809.jpg











本文转自hcymysql51CTO博客,原文链接:http://blog.51cto.com/hcymysql/1579197 ,如需转载请自行联系原作者
















版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章