上篇文章介紹了MMM架構(gòu)的實現(xiàn)方法,但是上篇文章的MMM方案的復制是異步復制,異步復制的主要問題在于當主從存在延時時如果主機出現(xiàn)了故障導致了主從切換時這時將會存在數(shù)據(jù)丟失;mysql為了解決異步復制數(shù)據(jù)丟失的問題增加了半同步復制,半同步復制存在5.5以上的版本,半同步復制的原理是客戶端在事務(wù)提交時必須等待從庫接收到binlog的回應之后才能提交事務(wù)(當存在多個從庫時默認只需要一個從庫接受到了bInlog即可,也可以配置必須每一個從庫都必須接收到binlog但是這樣對性能影響就會很大),如果從庫宕機或者故障導致binlog沒有及時傳送到從庫(由參數(shù)rpl_semi_sync_master_timeout控制,默認是10S),這時mysql會自動轉(zhuǎn)為異步復制,當從庫又重新啟動有新的一條binglog從主庫發(fā)送到從庫在規(guī)定的時間內(nèi)得到響應mysql又會自動轉(zhuǎn)換為半同步復制,所以半同步復制對主從之間的網(wǎng)絡(luò)要求比較高。

mysql版本:5.6

方案:MMM+半同步復制

 

一、原理

 5.6的半同步復制是在客戶端執(zhí)行commit主庫寫入完binlog然后執(zhí)行數(shù)據(jù)刷新到磁盤后才由dump線程將binlog記錄發(fā)送到從庫的io線程。

二、安裝配置

首先說明一下,當前的配置是基于MMM方案的配置,由于MMM方案是兩主一從,所以我在其中的雙主上面配置半同步復制,從庫上面還是原先的異步復制。半同步復制是基于插件來實現(xiàn)的,主從上面各自執(zhí)行不同的插件。

1.查詢是否支持動態(tài)插件

主從上面都需要查看是否支持動態(tài)插件

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設(shè)計培訓,網(wǎng)站建設(shè)培訓學習是年輕人改變自己的最好方式