2010-08-14 81 views
1

我打算使用MySQL設置與一個主服務器和幾個從服務器 。我會在其中一個從服務器 服務器上執行數據EBS的定期一致備份(我將始終停止數據庫並在完成時重新啓動它)。主從故障轉移從從快照

奴隸故障
我的奴隸失敗,我會基於最新從快照作爲新的數據磁盤啓動新的實例和MOUN EBS之一。在這種情況下,主人隨時都可以使用。所以這是我認爲我應該做的:

0)確保服務器使用唯一的server_id 1)從站停止;
2)RESET SLAVE;
3)START SLAVE;
4)重新啓動mysql?

那夠了嗎?

主站故障轉移 爲了簡單和一致性的原因,我不想提升其中一個主站。我更喜歡從頭開始創建新的主人。問題是快照來自從機,我想用它作爲主機。這是我認爲應該在創建基於從快照的磁盤的新實例後應該執行的操作:

1)STOP SLAVE;
2)RESET MASTER;
3)重新啓動mysql
4)將彈性IP關聯到新的主數據庫(相同的IP被失敗的主數據庫使用),因此從屬設備將能夠再次連接。

該過程是否正確? 現在我應該怎麼處理奴隸?從屬可以在主人之前,因爲主人是從幾個小時前的快照中恢復的。這是問題嗎?還有可能從用於恢復主機的相同快照重新創建所有從機。然後他們會和主人一樣。但是,如果沒有停機時間,這可能會很複雜並且無法繼續。有沒有更好的方法如何做到這一點?

非常感謝您提前!

注:我不介意自從最新快照以來丟失的交易。我正在使用Mysql 5.1.41。

回答

0

兩個方法,我用它來恢復出不同步的服務器是:

  • 重新導入轉儲從一個「好」服務器到「壞」的服務器。在你的情況下,它會從一個好的奴隸導入一個轉儲到壞主人。
  • 在受影響的服務器上運行一個Navicat程序。 Navicat有一個允許兩個表(單向,雙向等)之間數據同步的功能,以便重新添加任何缺失的記錄。

在這兩種方法中,您都需要停止主控並重置主控。重置奴隸也將有所幫助。