有什麼辦法可以獲得容錯MySQL複製嗎?我處於一個有許多網絡問題的環境。看起來複製出現錯誤並停止。我需要它繼續工作並從這些故障中恢復過來。有一些包裝軟件會檢查複製狀態,並在丟失日誌位置的情況下重新啓動它。有其他選擇嗎?強大的容錯MySQL複製
注: 複製從嵌入式計算機完成與MySQL 4.1到具有MySQL的5.0.45
有什麼辦法可以獲得容錯MySQL複製嗎?我處於一個有許多網絡問題的環境。看起來複製出現錯誤並停止。我需要它繼續工作並從這些故障中恢復過來。有一些包裝軟件會檢查複製狀態,並在丟失日誌位置的情況下重新啓動它。有其他選擇嗎?強大的容錯MySQL複製
注: 複製從嵌入式計算機完成與MySQL 4.1到具有MySQL的5.0.45
使用NDB存儲引擎考慮的MySQL Cluster一個外部計算機,它的意思是無共享和容錯
你有什麼錯誤?您還沒有描述您正在使用的複製方案或Mysql版本。你得到的錯誤也很重要。
複製通常在Master-Master複製中存在主/唯一鍵衝突時停止。除了典型的主從複製設置以外,網絡問題不應引起問題。
嘗試使用Mysql 5.1或更新版本,因爲5.0中的複製是基於聲明的,並會導致Master-Master設置或使用存儲過程時出現問題。
(另外,遠離Mysql Cluster ...發現了關於另一條評論的建議)。
僅用於主從式環境 – Joshua 2009-06-08 17:05:11
MySQL複製通常會檢測到問題並無論如何都會重新連接,並從其停止的地方繼續。
如果您遇到複製錯誤,則可能是源代碼是其他內容。 MySQL複製有效地在查詢日誌上做了「tail -f」,並在從站上重播它(它比這稍微聰明一點,但不是很多)。
如果數據庫不同步,MySQL的複製既不檢測也不修這一點,但它最終可能會導致其破裂的後續更新,由於在從衝突的數據無法進行。
上覆制從默認的超時是太長時間 - 等待時間(或東西) - 你要減少這種。
數據變得不同步,很難避免,緩解步驟是:使用類似MK-表校驗從Maatkit
複製錯誤僅在數據庫脫離s時纔會發生ync不知何故,讓服務器簡單地繼續將意味着不連貫的數據庫,我真的懷疑你會想要。
以我的經驗,你結束了這種錯誤的唯一情況是,如果主服務器的一個未完成的查詢和奴隸注意到。在任何情況下,如果你真的想通過某種時鐘工作繼續進行從機,那麼你總是可以每隔幾分鐘運行一次查詢,詢問從機「SHOW SLAVE STATUS
」,然後檢查錯誤列,如果存在,發送「STOP SLAVE; SET GLOBAL SQL_SLAVE_SKIP_COUNTER; START SLAVE;
」命令。但是當mysql遇到錯誤時,它可能更容易發送電子郵件給管理員,因此他/她可以調查問題的來源並確保數據庫實際上是同步的,否則您可能會看到隨着數據庫變得越來越不同步,在不久的將來會出現更多的錯誤。
這是一個需要自行修復的嵌入式環境。 – Joshua 2009-06-08 17:07:08
需要留在MyISAM或InnoDB中。 – Joshua 2009-06-08 17:07:37