MySQLGTID复制的优缺点分别是什么

MySQL GTID复制的优缺点分别是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

成都创新互联主要从事成都网站建设、网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务新北,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

GTID(Global Transaction ID)是对于一个已提交事务的编号,并且是一个全局唯一的编号。
GTID实际上是由UUID+TID组成的。其中UUID是一个MySQL实例的唯一标识。TID代表了该实例上已经提交的事务数量,并且随着事务提交单调递增,最初由google实现,官方MySQL在5.6才加入该功能。
GTID是事务提交时创建分配的唯一标识符,所有事务均与GTID一一映射。

GTID的优点:
1.根据GTID可以知道事务最初是在哪个实例上提交的
2.GTID的存在方便了Replication的Failover

GTID的缺点:
1.GTID 模式实例和非GTID模式实例是不能进行复制的,要求非常严格,要么都是GTID,要么都不是
2.gtid_mode 是只读的,要改变状态必须1)关闭实例、2)修改配置文件、3) 重启实例
3.更新非事务引擎表
在同一事务中更新事务表与非事务表将导致多个GTIDs分配给同一事务

GTID的三个限制:
enforce-gtid-consistency=ON时,以下三类语句时不支持的

CREATE TABLE ... SELECT statements

CREATE TEMPORARY TABLE or DROP TEMPORARY TABLE statements inside transactions

Transactions or statements that update both transactional and nontransactional tables. There is an exception that nontransactional DML is allowed in the same transaction or in the same statement as transactional DML, if all nontransactional tables are temporary.


而实际上这个限制没有必要这么严格,

CREATE TABLE ... SELECT statements

对于binlog_format=row, gtid_next='automatic'时可以放开限制。
生成的binlog包含两个GTID, 一个是建表语句,一个是包含多个insert的事务。

事务中包含事务表和非事务表

对于gtid_next='automatic'时可以放开限制。
生成的binlog包含两个GTID, 一个是所有非事务表的,一个是所有事务表的。
对update多表(包含事务表和非事务表)此时需额外要求binlog_format=row。

关于MySQL GTID复制的优缺点分别是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


网站题目:MySQLGTID复制的优缺点分别是什么
文章位置:http://bzwzjz.com/article/jdioeh.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 网站建设方案 重庆企业网站建设 成都网站制作 梓潼网站设计 成都网站建设 成都网站制作 成都网站建设 成都网站建设流程 成都定制网站建设 成都定制网站建设 成都网站设计 成都网站建设 手机网站建设套餐 企业手机网站建设 网站设计 定制级高端网站建设 成都企业网站建设 营销型网站建设 成都网站建设 手机网站建设 成都网站设计 成都网站设计公司