《MySQL 5.7 Replication新特性》分享之互動問題解答

來源:互聯網
上載者:User

標籤:

 原創 2016-07-21 宋利兵 MySQL中文網

分享主題

《MySQL 5.7 Replication新特性》

 

嘉賓介紹

宋利兵,MySQL研發工程師。2009年加入MySQL全球研發團隊,從事MySQL複製相關功能的開發。

 

主題介紹

主要分享在MySQL 5.7中,Replication(複製)相關的一些新特性,比如多源複製、增強半同步複製、並行複製等。

 

Agenda

  1. GTID複製

  2. 多線程並發複製

  3. 半同步複製

  4. 多源複製

  5. 其他特性

 

 

這次的PPT、錄音我也同時放到百度雲端硬碟裡了,歡迎下載轉存。百度雲端硬碟連結: http://pan.baidu.com/s/1gfNR7NH 密碼: adqm

互動問題解答

由於篇幅有限,我們選擇了10個比較有代表意義的問題進行解答。

 

 

問1:多源複製下,支援master是5.6,slave是5.7嗎?

答:可以的

【老葉補充】非常不建議跨大版本的MySQL Replication。

 

 

問2:半同步複製設定N個slave應答,如果當前Slave小於N會怎樣?

答:取決於rpl_semi_sync_master_wait_no_slave的設定。

- rpl_semi_sync_master_wait_no_slave = 0

   會立刻變成非同步複製。

- rpl_semi_sync_master_wait_no_slave = 1

   仍然等待應答,直到逾時。

 

 

問3:gtid 如果出現不支援的語句,怎麼解決

答:從應用中去掉不支援的語句/事務:

例如:

- CREATE TABLE ... SELECT

   可以該為:

   CREATE TABLE

   INSERT ... SELECT

 

 

問4:基於GTID的複製,可以指定GTID複製的起始位置麼,還是只能根據現有的資訊?

答:GTID複製就是為了擺脫對binlog檔案名稱和位置的依賴。所以不能指定複製的起始位置,也完全沒有必要指定。

 

 

 

問5:對一個已經開啟GTID的資料庫再做一個從庫,先把Master備份下來還原到新slave上去,直接可以同步了還是先需要做purge_gtid的操作再同步呢?

答:需要設定gtid_purged。整個過程可以通過mysqldump完成。

請參考手冊:http://dev.mysql.com/doc/refman/5.7/en/replication-gtids-failover.html#replication-gtids-failover-copy

 

 

問6:線上全是5.5的環境,有沒有辦法搭建5.5到5.7的複製?

答:可以,但不能開啟gtid功能。

【老葉補充】非常不建議跨大版本的MySQL Replication,更何況是垮了2個大版本,最好是先進行升級。

 

 

問7:並行複製logical_clock,如果不開啟gtid是不是就不能並行了?

答:不開啟gtid,也能使用logical_clock並行複製。

 

 

問8:在主從複製過程中,是主向從推資料還是從拉資料,如果這個傳送的過程中,出現網路閃斷,會不會造成資料包丟失,會執行校正重傳嘛?

答:Slave 的IO線程發起到Master的串連。

然後master開始發送events,slave只是被動的接收。

slave和master之間使用的是tcp 串連。tcp是可靠的串連。網路丟包等都是tcp層自動處理的。

mysql不需要處理。

如果slave長時間不能收到一個完整的Event,或者接收event時出錯。slave 

會進行相應的處理。

如果slave認為,重建立立串連能解決問題。slave則自動的斷開原來的串連,然後重新串連到master去。

如果slave認為,這個錯誤無法自動解決,slave會停掉io線程,並報錯。

 

 

 

問9:設定了binlog_group_commit_sync_delay參數,在宕機的時候應該不會影響binglog檔案安全吧?

答:不影響

 

 

 

問10:多源複製是只能在非同步模式下使用嗎?因為半同步的狀態是全域的,一個通道關閉會導致其它通道出錯,有沒有考慮將半同步狀態改成每個channel的私人配置呢?

答:只有一個通道可以開啟seimsync,其他的都要使用非同步通道。不光是Semisync,非同步通道的狀態也要改成每個channel的私人配置,都有考慮。

《MySQL 5.7 Replication新特性》分享之互動問題解答

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.