主從同步設定的重要引數log_slave_updates

wzq609發表於2014-11-03

說明:最近部署了mysql的叢集環境,詳細如下M01和M02為主主複製,M01和R01為主從複製;在測試的過程中發現了以下問題:

1、M01和M02的主主複製是沒有問題的(從M01寫入資料能同步到M02,從M02寫入資料能夠同步到M01);

2、主從同步的時候,當從M01寫入的時候,資料可以寫入到R01;

3、當從M02寫入的時候,資料就不能寫入到R01;

 

問題的原因:log_slave_updates引數的狀態為NO

mysql的官網說明如下:

Normally, a slave does not log to its own binary log any updates that are received from a master server. This option tells the slave to log the updates performed by its SQL thread to its own binary log. For this option to have any effect, the slave must also be started with the --log-bin option to enable binary logging. Prior to MySQL 5.5, the server would not start when using the --log-slave-updates option without also starting the server with the --log-bin option, and would fail with an error; in MySQL 5.5, only a warning is generated. (Bug #44663) --log-slave-updates is used when you want to chain replication servers. For example, you might want to set up replication servers using this arrangement:

A -> B -> C

   

Here, A serves as the master for the slave B, and B serves as the master for the slave C. For this to work, B must be both a master and a slave. You must start both A and B with --log-bin to enable binary logging, and B with the --log-slave-updates option so that updates received from A are logged by B to its binary log. 

a) M01同步從M02同步資料過來的時候,log_slave_updates引數用來控制M01是否把所有的操作寫入到binary log,預設的情況下mysql是關閉的;

b) R01資料的更新需要透過讀取到M01的binary log才能進行更新,這個時候M01是沒有寫binary log的,所以當資料從M02寫入的時候,R01也就沒有更新了。。

 

問題的解決方法:

 

log_slave_updates:預設值為OFF;

Dynamic Variable:NO

 

處理方法:修改/etc/my.cnf,增加一行log_slave_updates=1,重啟資料庫後就可以了;

 

總結:設定完該引數後,資料庫的架構就可以設定成M01和M02為主主同步,R01透過M01進行主從同步;

應用的寫操作中M02上面進行,讀操作中R01上面進行(如果讀操作很多的話,可以在M01上面架設多臺只讀資料庫),當M02發生故障後,系統的寫操作自動遷移到M01上面。這種架構基本可以保證大部分公司的應用需求;

*********************************************************************************************************************本文作者:JOHN QQ:1916066696 (請備註資料庫)

ORACLE技術部落格:ORACLE 獵人筆記 http://blog.itpub.net/12679300/

請掃描加微訊號!

 

******************************************************************************************

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12679300/viewspace-1319263/,如需轉載,請註明出處,否則將追究法律責任。

相關文章