当前位置:Gxlcms > 数据库问题 > mysql gtid初探

mysql gtid初探

时间:2021-07-01 10:21:17 帮助过:38人阅读

什么是GTID

什么是GTID呢, 简而言之,就是全局事务ID(global transaction identifier )


GTID的格式类似于:

7a07cd08-ac1b-11e2-9fcf-0010184e9e08:1


GTID实际上是由UUID+TID组成的。其中UUID是一个MySQL实例的唯一标识。TID代表了该实例上已经提交的事务数量,并且随着事务提交单调递增。

    

为何需要?

使用change master to 不再需要找到binlog和Positon的位置,mysql通过gtid自动找同步


Gtid的工作流程是这样的

1 master上一个事务提交,并写入binlog里

2 binlog日志发送到slave,slave接受完并写入relay log中继日志,slave读取到这个gtid,

并设置gtid_next的值

set @@session.gtid_next=

3 slave检查并确认这个gtid没有被使用,并写入到自己的binlog里



1 配置gtid复制

gtid-mode=on 

enforce-gtid-consistency=true 

log-slave-updates=1

log-bin=mysql-bin

binlog_format = row


2 在master上导出

mysql -uroot -p123456 --single-transaction -R -E --triggers -B yourDB > bak.sql


3在slave上导入

myql -uroot -p123 < bak.sql



4 之后再做指向

Change master to master_HOST =,master_PORT = ,master_USER = repl-user,master_PASSWORD = ,master_AUTO_POSITION = 1;


本文出自 “dba天空” 博客,请务必保留此出处http://9425473.blog.51cto.com/9415473/1661517

mysql gtid初探

标签:mysql gtid

人气教程排行