2012-01-04 38 views
2

我已經爲2個服務器設置了MySQL主/從複製,沒有問題,我通常會遵循MySQL網站here上的大文檔。然而這一次我已經設置好了,一切看起來都應該起作用,但從設備並沒有使用主設備的新數據進行更新。我將顯示來自主服務器和服務器的一些輸出。MySQL從不復制

主數據(IP:10.1.1.21)

show processlist 

'107', 'REPL','10 .1.1.22:60686' ,NULL, 'BINLOG轉儲', '523',「具有 將所有binlog發送給slave;等待二進制日誌將被更新」,NULL

show master status 

'的MySQL-bin.000280', '10494', '的Joomla', 'MySQL的'

從動(IP:10.1 .1.22)

show processlist 

'9', '系統用戶', '',NULL, '連接', '625', '等待主發送事件',NULL

'10','system user','',NULL,'Connect','10','已經讀取所有的中繼日誌;等待從I/O線程更新它」,NULL

show slave status 

'等待主發送事件','10 .1.1.21' , 'REPL', '3306','60 ','mysql-bin.000280','14029','tim-Dell-DM061-relay-bin.000002','14174','mysql-bin.000280','是','是',' ,'','','','','','0','','0','14029','14338','None','','0','否', '','','','','','0','否','0','','0',''

我測試的方式來看它是否正在工作是爲主人創建一張桌子。我這樣做了,這張新表沒有傳播給奴隸。我沒有檢查中繼二進制日誌,它確實有很多更新。這是一個網站數據庫,我只是檢查它的點擊傳播到奴隸,所以它似乎有點工作。

創建一個表不會傳播,而且我試圖插入一些數據到一個測試表中,當我將數據初始化同步到從機時,這個數據並不會傳播到從機。

任何想法,我可以如何進一步調試?

謝謝!

編輯:

show global variables like 'replicate%'返回2列: 「變量名」, 「值」。沒有任何數據行。

+1

您是否也可以發佈以下命令的輸出:'顯示像'replicate%'這樣的全局變量(在slave上執行)。 – 2012-01-04 21:07:22

+0

@DimitreRadoulov我發表了上面的輸出,謝謝! – 2012-01-05 12:58:57

+1

Hi @jeffery_the_wind,請參閱下面的Rolando的評論 - 問題可能與* binlog-do/ignore-db *的設置有關。 – 2012-01-05 13:03:19

回答

6

在我們SHOW MASTER STATUS;我注意到你有這個

'mysql-bin.000280', '10494', 'joomla', 'mysql' 

當有人使用二進制日誌-DO-DB我畏縮。 Here is why

There is an old bug report for MySQL 4.0 that I do not fully believe was fixed

+0

好點!即使,如果* joomla *位於* Binlog_Do_DB *中,或者* joomla *和* mysql *都位於* Binlog_Ignore_DB *中,給定後格式也不會立即顯而易見。 – 2012-01-05 08:00:00

+0

是的偉大的一點。其實我的複製工作,但因爲我使用binlog-do-db,我的'create table'查詢不會傳播,除非我使用正確的模式。感謝@RolandoMySQLDBA – 2012-01-05 13:10:55

7

顯然對主你的bin位置目前是10494,你的奴隸看見你Read_Master_Log_Pos爲14029.

所以你的奴隸認爲這是未來日誌位置的高手,和等待主人有新數據。