官术网_书友最值得收藏!

2.7 小 結

為了解決主從數據一致性的問題,MySQL早在5.5版本就引入了半同步復制。經過支持發送二進制日志事件和接收ACK的異步化,控制主庫接收確認從庫的反饋數量,二進制日志互斥鎖改進等一系列的優化,使得半同步復制在保證數據一致性的同時,性能有了大幅提升。

在本章中,我們還展示了rpl_semi_sync_master_wait_point、sync_binlog、sync_relay_log這三個配置參數在MySQL 5.7中實現的源代碼,詳細分析了不同參數值對數據一致性產生的影響。在需要強一致性的場景中,sync_binlog和sync_relay_log都應設置為1,而rpl_semi_sync_master_wait_point應設置為WAIT_AFTER_SYNC。不過,這樣做會犧牲一定的性能,因而需要權衡考慮。

最后,我們介紹了配置半同步復制的步驟,并且測試了主庫提交事務、回滾事務對從庫的影響,以及rpl_semi_sync_master_wait_no_slave參數所起的作用。通過設置相關的配置參數可以控制半同步復制的行為,同樣通過查詢相關的狀態參數可以查看半同步復制的當前狀態,它們被統稱為半同步復制的管理接口。下一章將講述一個與MySQL復制相關的重要主題——GTID。

主站蜘蛛池模板: 武冈市| 额敏县| 铁力市| 西充县| 北海市| 信宜市| 新密市| 普洱| 济南市| 墨脱县| 田林县| 汉中市| 额济纳旗| 彭山县| 禄劝| 泸水县| 海安县| 威信县| 噶尔县| 山阳县| 景泰县| 鲁山县| 广东省| 曲麻莱县| 新河县| 徐闻县| 额尔古纳市| 旬阳县| 龙游县| 崇信县| 龙井市| 保定市| 永兴县| 三河市| 舞钢市| 慈利县| 炉霍县| 孟津县| 克什克腾旗| 丹东市| 新津县|