2013-05-01 10 views
1

我在MySQL中有FEDERATED表有一個問題。我有一臺服務器(MySQL版本5.0.51a),用於存儲客戶端數據,實際上並沒有更多。邏輯數據庫存儲在另一臺服務器(版本5.1.56)中,有時它應該處理來自第一臺服務器的數據。所以第二臺服務器有一個FEDERATED表,它連接到第一臺服務器。錯誤#1159與MySQL FEDERATED表和一種查詢

其實,它沒有任何問題,但最近我得到了這個解決方案奇怪的錯誤。第二臺服務器上的某些查詢無法正確執行。例如SELECT * FROM table - 不起作用。它正好掛3分鐘,然後給出了:

錯誤代碼:1159超時了讀出的通信包

好吧,我檢查了第一臺服務器上表,這是確定的。然後我嘗試了一下FEDERATED表的另一個查詢並且它們工作...

例如,像SELECT * FROM table WHERE id=x這樣的查詢返回結果。也許它可能有結果的大小問題,所以我試圖用虛擬WHERE條款查詢 - 條款如SELECT * FROM table WHERE id > 0 - 它也可以...

最後,我找到了一個「解決方案」,這隻有兩天的幫助 - 在第一個服務器我做了一個表副本,在第二個服務器上我重新聲明瞭一個新的連接字符串FEDERATED到這個副本。它的工作原理,但兩天後,與新複製表相同的問題。

我已經與兩家服務器供應商談過了,他們沒有發現任何問題,一切似乎都奏效,而其他託管服務提供商則是問題的提示者。

我已經檢查了MySQL中的所有變量,並且3分鐘內沒有超時參數等,那麼我該如何處理這樣的問題呢?它似乎是網絡或數據庫端的自動化,但我不知道如何檢測問題的原因。

你有什麼想法嗎?

回答

0

您可以嘗試檢查兩臺服務器上的網絡接口的MTU大小設置。