mysql5.6新特性之gtid_mysql 5.6 新特性之GTID复制

Mysql 5.6开始支持gtid模式的主从复制

Gtid即为全局事务标识符,是指mysql对写入二进制日志的每个事务所作的标记。由server_uuid和事务id组成。

Gtid的作用是什么?可以简化搭建主从实例。我们以往在扩展从库时,均需要在从库上指定开始复制的二进制日志文件名、位置,如果指定错误,可能还会引起数据一致性的问题。

使用gtid模式之后,只需要在从库上指定主库的基本连接信息(登录信息、ip,端口等),将自动查寻复制起始点。这将大大简化扩展从库实例。

gtid是由server_uuid和事务id组成。Server_uuid是一个128位的数字,形如b45c01f0-6787-11e3-a5f6-0800271b7f69

它是由服务器首次启动时自动随机生成,并写入到数据目录的auto.cnf目录中。服务器一旦正式投入运行,就绝不要修改server_uuid或修改删除auto.cnf文件!否则会引起后续的主从复制故障!

从这个原理来看,使用gtid并不会影响主从复制性能。

混合gtid模式与非gtid,还能否正常使用?完全可以,但不建议这样做。保持单一与统一,可减少不必要的麻烦。

如果在使用过程中,有疑问可致邮 zhangxugg@163.com, 共同探讨

如何启用gtid复制?

1. 主库上的操作

停止主库实例,并删除主库数据目录中生成的所有二进制相关日志,即binlog, relay-binlog, binglog.index, relay-bin.index, relay-log.info

向主库的启动配置文件/etc/my.cnf中加入以下配置项

server_id = 73906

log_bin=mysql-binlog

sync_binlog = 0

binlog_format=MIXED

expire_logs_days = 7

gtid-mode=on

log-slave-updates

enforce-gtid-consistency

master_info_repository=TABLE

启动主库服务,并在主库上创建复制帐号

grant replication slave, replication client to 'repl'@'%' identified by 'repl';

2. 从库上的配置

停止从库实例,同上删除从库所有相关旧文件,binglog, relay-bin.*, relay-bin.index, relay-log.info

配置从库启动参数文件/etc/my.cnf,加入以下配置

server_id = 73907

log_bin=mysql-binlog

sync_binlog = 0

binlog_format=MIXED

expire_logs_days = 7

gtid-mode=on

log-slave-updates

enforce-gtid-consistency

master_info_repository=TABLE

read_only=1

注意:每个节点的server_id必须保持唯一性。

启动从库服务,并指定主库连接信息(所设主库ip为192.168.10.1,端口为3306,复制帐号密码均为repl)。

mysql> CHANGE MASTER TO MASTER_HOST='192.168.10.1',MASTER_PORT=3306,MASTER_USER='repl',

MASTER_PASSWORD='repl',MASTER_AUTO_POSITION=1;

mysql> start slave;

mysql> show slave status\G

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值