【Mysql】傳統複製線上升級為GTID模式

小亮520cl發表於2016-03-21

前題:

  1. 要求MySQL 5.7.6及以後版本。
  2. 所有組中成員gtid_mode 為off狀態。

 

實現步驟:

  1. 所有的Server執行

set @@global.enforce_gtid_consistency = warn;

特別注意: 這一步是關建的一步使用不能出現警告。

 

2.所有的server上執行:

set @@global.enforce_gtid_consistency = on;

 

3.所有的Server上執行(不關心最先最後,但要執行完):

set @@global.gtid_mode = off_permissive;


  1. 執行:

set @@global.gtid_mode=on_permissive;

實質在這一步驟生的日誌都是帶GTID的日誌了,這個步驟號稱是不關心任何節點,但從實管理上推薦在slave上先執行,然後再去master上執行。

 

  1. 確認傳統的binlog複製完畢,該值為0

show status like ‘ongoing_anonymous_transaction_count’;

 

需要所有的節點都確認為0.

 

  1. 所有節點進行判斷 show status like ‘ongoing_anonymous_transaction_count’; 為零

所有的節點也可以執行一下: flush logs; 用於切換一下日誌。

 

  1. 所有的節點啟用gtid_mode

set @@global.gtid_mode=on

 

  1. 把gtid_mode = on相關配置寫入配置檔案

gtid_mode=on

enforce_gtid_consistency=on

 

  1. 啟用Gtid的自動查詢節點複製:

stop slave;

change master to master_auto_position=1;

start slave;

 

完畢。Good Luck。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-2060975/,如需轉載,請註明出處,否則將追究法律責任。

相關文章