MySQL5.7 GTID在線開啟與關閉【轉】


當前場景

  當前某些業務還有未開啟GTID服務組,升級5.7后,如何檢測是否符合開啟GTID條件,如何在線修改切換使用GTID;已經升級5.7后,已經開啟GTID,如何快速回滾后退;
線上gtid如何維護等等,以上場景通過歸納下面內容解決
  • gtid_mode參數新選項值
  • online gtid enable
  • online gtid disable

gtid_mode參數新選項

mysql 5.7.6后,mysql提供了兩個額外選項off_permissive和on_permissive
off
off_permissive
on_permissive
on
上面四個狀態變更必須是按照順序變更,如不允許gtid_mode=off,直接變更為on_permissive;
當設置為off_permissive,不產生GTID事務,  Slave接受不帶GTID的事務(匿名事務)也接受帶GTID的事務
當設置為on_permissive時,新事務為gtid事務,slave接受GTID事務也接受不帶GTID事務
gtid值master 與slave 兼容性列表
上表說明
Y: 表示master和slave的gtid值是兼容的
N:表示master和slave的gtid值是不兼容的
Y*:表示auto_positioning是可用的

online gtid enable 

限制條件: mysql 版本需5.7.6之后;所有server gtid_mode=off
1 、在每一台服務器上執行。err log沒有任何warning產生 ,這是非常重要的一步,確保沒有error log產生繼續step 2;主要驗證是否可以開啟gtid,如create table select* from table 不支持事件

 

 set @@global.enforce_gtid_consistency=warn;

2、在每一台server上執行

 

set @@global.enforce_gtid_consistency=on;

 

3、每一台server 執行,在那一台服務器執行沒有先后之分

 

set @@global.gtid_mode=off_permissive;

 

4、每一台server 執行,執行順序沒有先后之分,要保證下一步操作之前,上面的操作都已在所有server上執行過

 

set @@global.gtid_mode=on_permissive;

 

5、保證每一台ongoing_anonymous_transaction_count狀態值為零

 

show status like 'ongoing_anonymous_transaction_count';

 

6、等待步驟5生成的所有事務復制到所有服務器,此時不需要停止服務器更新,要保證所有的匿名事務都已經復制
7、步驟六完成,基本上可以進行步驟8.(此處沒有考慮備份和restore情況)
8、設置 gtid_mode=on 

 

set @@global.gtid_mode=on;

 

9、持久化my.cnf ,每台slave上執行

 

stop slave;
 change master to master_auto_position=1 ;
 start slave;

 

online gtid disable

限制:所有server必須5.7.6之后;gtid_mode=on
1、每一台slave上執行

 

 stop slave;
 change master to master_auto_position=0,master_log_file='mysql-bin.000383',master_log_pos= 245710922 ;
 start slave;

 

2、在每一台server上執行

 

 set @@global.gtid_mode=on_permissive;

 

3、在每一台server上執行 保證下一步操作之前,上面的操作都已在所有server上執行過

 

set @@global.gtid_mode=off_permissive;

 

4、在每一台server上執行,保證global.gtid_owned變量字符串為空。

 

select @@global.gtid_owned;

 

5、等待存在於binlog 中的事物都已經apply到slave
6、沒有略過,在此過程中需關注是否有備份或restore
7、每一台server執行

 

set @@global.gtid_mode=off ;

 

8、持久化gtid_mode=off 到my.cnf配置文件
 
轉自

MySQL5.7 GTID在線開啟與關閉 - CSDN博客
http://blog.csdn.net/aeolus_pu/article/details/78502846


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM