2012-12-31 62 views
0

我正面臨着一個問題,即重新編寫兩個MySql數據庫之間的數據複製。兩個數據庫位於兩個不同的基於IP地址的系統。而且它本地主機上測試時工作正常,但是當我的系統,另一個遠程系統中,它給這個錯誤信息連接:從Mysql到Mysql的數據複製問題

error in connecting the master @ XX.xxx 

和錯誤不就是2013年可能是什麼原因?我也無法ping到這個IP地址(雖然我可以訪問部署在這個IP地址XX.xxx上的任何應用程序(php + mysql),但防火牆是diabled的)。

回答

0

那麼,錯誤消息基本上告訴你什麼是手頭的問題:奴隸有一個問題連接到主。

可能有多種可能性導致此問題,無論是網絡問題還是設置問題。

幾點建議:

  • 退房主機和從機之間的網絡。你可以從奴隸連接到主人(也許嘗試通過命令行)?
  • 複製用戶設置是否正確?它具有REPLICATION SLAVE特權嗎?

它甚至可能比這更復雜一點,但首先給我們一些東西進一步調試。

+0

如何檢查主站和從站之間的網絡?我已經嘗試從奴隸系統ping主,但它顯示5包傳輸,但100%的損失。 –

+1

ping是實現它的一種方式,但是您可能會遇到ping不允許但mysql已存在的情況。最好嘗試通過mysql命令行進行連接,如下所示:'mysql -h(master ip address)-P 3306 -u replication -p xyz'(如果你還沒有的話)。如果這導致錯誤,您必須檢查網絡,或諮詢管理此網絡的人員。 – Bjoern

1

嘗試使用與複製用戶相同的屬性(mysql -h [其他ip] -P [其他端口] -u [複製用戶] -p [複製用戶密碼])併發出正常的sql命令(現在選擇())。如果這不起作用,這是防火牆或類似的問題。如果你正在運行某種Linux,也許apparmour。

如果確實有效,請確保該用戶具有REPLICATION SLAVE權限,否則無法使用該權限。

+0

那麼給出REPLICATION SLAVE權限。這沒有問題。我已經嘗試了你的建議..它給出了以下錯誤:mysql -h(主ip地址)-P 3306 -u複製-p xyz 輸入密碼:(然後它詢問密碼,我已經嘗試了奴隸的密碼和主機) 錯誤2003(HY000):無法連接到'(主IP地址)'(110) –

+0

上的MySQL服務器嘗試telnet到端口3306上的該主機。如果這不起作用,它是任一臺機器上的防火牆這阻止了你。檢查兩臺機器的系統日誌/消息,看看你是否有東西。我知道apparmour在阻塞日誌時會寫入日誌。 –

+0

謝謝安德烈亞斯,我檢查了它顯示的系統日誌文件:Dec 31 15:55:02 mss60-desktop sendmail [17947]:我的非限定主機名(mss60-desktop)未知;睡覺再試 Dec 31 15:56:02 mss60-desktop sendmail [17947]:無法限定我自己的域名(mss60-desktop) - 使用短名稱 Dec 31 15:56:03 mss60-desktop sendmail [17947 ]:qBVAQ2NQ017947:from = pl,size = 558,class = 0,nrcpts = 1,msgid = <[email protected]>,relay = pl @ localhost –

0

這提供了一個關於如何做到沒有問題的詳細說明。 http://dev.mysql.com/doc/refman/5.0/en/replication-howto.html

+0

歡迎來到!雖然這可能在理論上回答這個問題,[這將是更可取的](http://meta.stackexchange.com/q/8259)在這裏包括答案的重要部分,並提供供參考的鏈接。 – Taryn