GTID即全局事务ID(global transaction identifier),GTID实际上是由UUID+TID组成的。其中UUID是一个MySQL实例的唯一标识。TID代表了该实例上已经提交的事务数量,并且随着事务提交单调递增,所以GTID能够保证每个MySQL实例事务的执行(不会重复执行同一个事务,并且会补全没有执行的事务)。下面是一个GTID的具体形式:
创新互联长期为上1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为林芝企业提供专业的成都做网站、网站制作,林芝网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。
1)复制环境的搭建:省略
mysql> show variables like '%gtid%';
主从环境的搭建和5.5没有什么区别,唯一需要注意的是:开启GTID需要启用这三个参数:
[mysqld]
#GTID
gtid_mode = on
enforce_gtid_consistency =1
log_slave_updates =1
任意一个参数不开启则都会报错:
binlog-do-db=oa_icore_db ###指定库
各个实例的uuid:
mysql> select @@server_uuid;
使用5.6之前的主从change:
mysql> change mastertomaster_host='127.0.0.1',master_user='rep',master_password='rep',master_log_file='mysql-bin3306.000001',master_log_pos=151,/*master_auto_position=1*/;
报错:
ERROR1776 (HY000):Parameters MASTER_LOG_FILE, MASTER_LOG_POS, RELAY_LOG_FILE and RELAY_LOG_POS cannot be set when MASTER_AUTO_POSITION is active.
当使用 MASTER_AUTO_POSITION 参数的时候,MASTER_LOG_FILE,MASTER_LOG_POS参数不能使用。
使用5.6之后的主从change:
mysql> change mastertomaster_host='127.0.0.1',master_user='rep',master_password='rep',master_port=3306,master_auto_position=1;
在从数据库查看状态
mysql> show slave status\G;
分享文章:mysql5.6新特性之GTID(可以做并行复制)
当前链接:http://lswzjz.com/article/ispssh.html