mysql5.7主從複製--線上變更複製類型【轉】

來源:互聯網
上載者:User

標籤:sel   file   查看   資料   參數   variable   切換   rmi   部落格   

這裡說一下關於如何線上變更複製類型(日誌複製到全域事物複製),參考課程:mysql5.7複製實戰

先決條件
    (1)叢集中所有的伺服器版本均高於5.7.6
(2)叢集中所有的伺服器gtid_mode都設定為off(使用 show variables like ‘gtid_mode‘ 命令查看)


   1:將基於日誌的複製變更為基於事物的複製處理步驟
    (1) 設定參數
   gtid_mode在5.7版本有一下4個值
   off:關閉
   off_permissive:準備關閉
   on_permissive:準備開啟
   on:開啟
   這4個值只能從off-->off_permissive-->on_permissive-->on或者(off<--off_permissive<--on_permissive<--on)的順序設定
   
   (主伺服器和從伺服器上分別執行以下命令,前2條命令按順序分別指向,而不是在一台伺服器上一次性事項所有命令)
       set @@global.enforce_gtid_consistency=warn;      //強制設定gtid一致性,值為:warn,設定完後建議用tail -f命令查看一下mysql-error.log是否有異常資訊
       set @@global.enforce_gtid_consistency=on;        //強制設定gtid一致性,值為:on
       set @@global.gtid_mode=off_permissive;            //設定gtid_mode為準備關閉狀態
       set @@global.gtid_mode=on_permissive;         //設定gtid_mode為準備開啟狀態
   
    (2) 在從伺服器上查看狀態 
   show status like ‘ongoing_anonymous_transaction_count‘;   //查看基於日誌的複製的事物數量,為0或者為空白表示正常。這一步是為了保證基於日誌複製的資料的一致性,防止有事物在主
                                                             //伺服器上執行完成,在從伺服器上沒有被執行,導致資料丟失
   set @@global.gtid_mode=on;                       //設定gtid_mode為開啟狀態
   
   在從伺服器上
   停止slave;
   stop slave;
   change master to master_auto_position=1;  (改變複製方式)
   start slave;

查看

   


   (3)持久配置(重要操作)
    確認成功切換到基於事物的複製之後,需要將一下2個參數添加到my.cnf中(所有的mysql伺服器節點)
保證在下次重啟mysql伺服器的時候會自動的啟動全域事物複製的方式進行主從同步
    enforce_gtid_consistency=on
gtid_mode=on

    這一步非常重要,千萬不要忘記了。不然下次啟動mysql你就會發現主從同步跪了。 

   2: 將基於事物複製變更為基於日誌的複製
      應用情境(由於工具或接入的第三方應用不支援事物的複製,則要改為基於日誌的複製)
  
先決條件
    (1)叢集中所有的伺服器版本均高於5.7.6
(2)叢集中所有的伺服器gtid_mode都設定為on(使用 show variables like ‘gtid_mode‘ 命令查看)

   步驟:
    (1)
   stop slave;
   change master to master_auto_position=0,master_log_file=‘file‘,master_log_pos=;  //停止事物複製,設定日誌複製的記錄檔和記錄檔節點
   start slave; 
   (2)     
       set @@global.gtid_mode=on_permissive;            //設定gtid_mode為準備開啟狀態
       set @@global.gtid_mode=off_permissive;         //設定gtid_mode為準備關閉狀態
   
   查看gtid_ownend是否為空白字串(在所有伺服器上均要查看)
       sellect @@global.gtid_owned;
       set @@global.gtid_mode=off;   //關閉
   (3) 
       持久配置(重要操作)修改my.cnf中(所有的mysql伺服器節點)
       enforce_gtid_consistency=off
   gtid_mode=off
這個其實就是和從事物到日誌複製的一個反向操作   

  更多資料相關Mysql GTID 模式詳解     mysql5.6新特性GTID基本原理    MySQL 5.6 全域事務 ID(GTID)兌現原理(一)

轉自

mysql5.7主從複製--線上變更複製類型 - CSDN部落格 http://blog.csdn.net/u014739462/article/details/70183458

mysql 5.7 gtid複製到傳統複製線上切換 - zengxuewen2045的部落格 - CSDN部落格 http://blog.csdn.net/zengxuewen2045/article/details/52464390

 

mysql5.7主從複製--線上變更複製類型【轉】

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.