首頁  >  文章  >  資料庫  >  MySQL之-四步驟實作BinLog Replication升級為GTIDs Replication的程式碼實例

MySQL之-四步驟實作BinLog Replication升級為GTIDs Replication的程式碼實例

黄舟
黄舟原創
2017-03-13 16:43:101130瀏覽

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