1、将Master和Slave服务器都设置为read-only
mysql>SET @@global.read_only=ON;
service mysql stop
开启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
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服务器的方法。
GTIDs Replication可随意指定某一台服务器为另一台服务器的中继Slave服务器或者Master服务器。
比如A、B、C三台MySQL服务器,开始为A是B、C的Master服务器。目前要将B变成C的中继服务器。则具体操作方法如下:
mysql> GRANT REPLICATION SLAVE ON *.* TO 'lyz'@'C的ip地址' IDENTIFIED BY 'lyz';
(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;
Atas ialah kandungan terperinci MySQL之-四步实现BinLog Replication升级为GTIDs Replication的代码实例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!