首页 >数据库 >mysql教程 >MySQL之-四步实现BinLog Replication升级为GTIDs Replication的代码实例

MySQL之-四步实现BinLog Replication升级为GTIDs Replication的代码实例

黄舟
黄舟原创
2017-03-13 16:43:101180浏览

1、将Master和Slave服务器都设置为read-only

mysql>SET @@global.read_only=ON;

2、将Master与Slave服务器都停下来

service mysql stop

3、开启GTIDs

开启GTIDs需要在master和slave服务器上都配置gtid-mode,log-bin,log-slave-updates,enforce-gtid-consistency(在MySQL 5.6.9之前是--disable-gtid-unsafe-statement)。另外,slave在这个环节还需要增加skip-slave-start参数。

#vi /etc/my.cnf
[mysqld]
gtid-mode=on
log-bin
log-slave-updates
enforce-gtid-consistency

4、重新配置Slave

mysql> change master to
	-> master_host='xxx.xxx.xxx.xxx',
	-> master_port=3306,
	-> master_user='xxx',
	-> master_password='xxx',
	-> master_auto_position=1;
mysql > start slave;

至此,升级结束。下面我为大家新增一个GTIDs Replication的切换中继服务器或Master服务器的方法。

5、GTIDs Replication

GTIDs Replication可随意指定某一台服务器为另一台服务器的中继Slave服务器或者Master服务器。

比如A、B、C三台MySQL服务器,开始为A是B、C的Master服务器。目前要将B变成C的中继服务器。则具体操作方法如下:

1)在服务器B上执行如下命令
mysql>  GRANT REPLICATION SLAVE ON *.* TO 'lyz'@'C的ip地址' IDENTIFIED BY 'lyz';
2)在C服务器上依次执行以下操作

(1)停掉slave

mysql> stop slave;

(2)配置slave

mysql> change master to
	-> master_host='B的ip地址',
	-> master_port=3306,
	-> master_user='lyz',
	-> master_password='lyz',
	-> master_auto_position=1;

(3)启动slave

mysql > start slave;

以上是MySQL之-四步实现BinLog Replication升级为GTIDs Replication的代码实例的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn