MariaDB的雙主

 MariaDB(mysql)之主主複製 mysql

 

1、主主複製說明 sql

   MySQL主主複製結構區別於主從複製結構。在主主複製結構中,兩臺服務器的任何一臺上面的數據庫存發生了改變都會同步到另外一臺服務器上,這樣兩臺服務器互爲主從,而且都能向外提供服務。 這就比使用主從複製具備更好的性能。 數據庫

2、關於主主複製過程當中server-id的說明 服務器

   由於主主複製架構中是兩臺服務器互爲主從,因此兩臺服務器必須都有填制日誌和中繼日誌,並且他們的server-id必須不能同樣。若是server-id同樣了,那麼: 架構

   一、數據寫入到A服務器的數據文件和二進制文件中,而後發送給B的中繼日誌;B根據中繼日誌寫入到磁盤數據文件中 性能

   二、一樣的,此時B服務器發生數據修改,因此它會把記錄寫入到二進制日誌文件中,而後再發送給A服務器的中繼日誌;A根據中繼日誌寫入到數據文件中 spa

   三、A、B都有中繼日誌,因此從中繼日誌中讀過來的數據修改操做會寫入到二進制文件中;這樣,雙方的二進制日誌一變化,就會發送給對方的中繼日誌(而數據實際上是相同的),這樣不停地來來回回,就形成了死循環 線程

   四、爲了不這種狀況,就應該爲A、B服務器指定不一樣的sercer-id,每一個服務器在複製數據時,會保留對方信息的server-id;所以,A服務器經過B服務器複製過來的信息到中繼日誌,發現server-id就是本身的,就沒有必要在寫在本地了,這樣就避免了循環複製 日誌

3、主主複製的實現 server

一、修改A服務器的配置

二、修改B服務器的配置文件

三、A服務器受權一個有複製權限的帳號給B服務器

四、B服務器受權一個有複製權限的帳號給A服務器

五、顯示A服務器的狀態信息,且去鏈接B服務器

六、顯示B服務器的狀態信息,且去鏈接A服務器

七、在A服務器上啓動複製線程,並查看是否鏈接B服務器成功

八、在A服務器上啓動複製線程,並查看是否鏈接B服務器成功

九、在A服務器上建立一個表

十、在A服務器上插入兩條數據

十一、在B服務器上同步成功。一樣的,在B服務器上插入2條數據,就會一樣的同步到A服務器中去了

4、遺留問題

   實驗過程當中,只保證了在A服務器上插入的是奇數id,在B服務器上插入的是偶數id,但沒能實驗讓它們按順序插入!

相關文章
相關標籤/搜索