宋利兵 mysql_《MySQL 5.7 Replication新特性》分享之互动问题解答
分享主題
《MySQL 5.7 Replication新特性》
嘉賓介紹
宋利兵,MySQL研發(fā)工程師。2009年加入MySQL全球研發(fā)團隊,從事MySQL復制相關功能的開發(fā)。
主題介紹
主要分享在MySQL 5.7中,Replication(復制)相關的一些新特性,比如多源復制、增強半同步復制、并行復制等。
Agenda
GTID復制
多線程并發(fā)復制
半同步復制
多源復制
其他特性
這次的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的環(huán)境,有沒有辦法搭建5.5到5.7的復制?
答:可以,但不能開啟gtid功能。
【老葉補充】非常不建議跨大版本的MySQL Replication,更何況是垮了2個大版本,最好是先進行升級。
問7:并行復制logical_clock,如果不開啟gtid是不是就不能并行了?
答:不開啟gtid,也能使用logical_clock并行復制。
問8:在主從復制過程中,是主向從推數據還是從拉數據,如果這個傳送的過程中,出現網絡閃斷,會不會造成數據包丟失,會執(zhí)行校驗重傳嘛?
答:Slave 的IO線程發(fā)起到Master的連接。
然后master開始發(fā)送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:多源復制是只能在異步模式下使用么?因為半同步的狀態(tài)是全局的,一個通道關閉會導致其它通道出錯,有沒有考慮將半同步狀態(tài)改成每個channel的私有配置呢?
答:只有一個通道可以開啟seimsync,其他的都要使用異步通道。不光是Semisync,異步通道的狀態(tài)也要改成每個channel的私有配置,都有考慮。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的宋利兵 mysql_《MySQL 5.7 Replication新特性》分享之互动问题解答的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lcd和oled的区别介绍(LCD和ol
- 下一篇: mysql 注入 绕过防火墙_绕过阿里云