标签:mysql gtid
什么是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
原文地址:http://9425473.blog.51cto.com/9415473/1661517