主從同步設定的重要引數log_slave_updates
說明:最近部署了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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【RAC】在RAC環境下需要惟一設定的重要引數列表
- Oracle 11G 資料庫重要的初始化引數設定Oracle資料庫
- RocketMQ主從同步MQ主從同步
- Redis主從同步Redis主從同步
- mysql主從同步MySql主從同步
- mysql5.6主從引數詳解MySql
- Redis 主從配置和引數詳解Redis
- Oracle CSS的引數設定 心跳時間設定OracleCSS
- vsftpd設定引數FTP
- RAC 特定引數設定
- 兩個引數設定
- Mysql重要配置引數的整理MySql
- oracle重要初始引數Oracle
- MySQL主從同步(一主一從、一主多從、主從從)等結構的概述與配置MySql主從同步
- MySQL主從同步配置MySql主從同步
- Mongo主從同步原理Go主從同步
- curl CURLOPT_WRITEFUNCTION 的引數設定Function
- MySQL 5.7的安裝及主從複製(主從同步)MySql主從同步
- Metasploit設定LHOST引數技巧
- Metasploit設定VERBOSE引數技巧
- pandas引數設定小技巧
- Metasploit設定HttpTrace引數技巧HTTP
- tomcat vm 引數設定Tomcat
- JVM常見引數設定JVM
- JVM引數設定大氣JVM
- SAP系統引數設定
- SAP 系統引數設定
- ORACLE JOB INTERVAL引數設定Oracle
- chrome啟動引數設定Chrome
- 設定NLS_LANG引數
- 函式定義、函式的引數、函式的預設引數函式
- MySQL的配置檔案的引數設定MySql
- ORACLE最重要的引數資訊 (轉)Oracle
- Redis重要引數回顧Redis
- MYSQL資料庫主從同步(一主一從)MySql資料庫主從同步
- MySQL主從複製結構中常用引數MySql
- Swift語言中為外部引數設定預設值可變引數常量引數變數引數輸入輸出引數Swift變數
- RocketMQ(九):主從同步的實現MQ主從同步