2013-05-09 70 views
0

我有MASTER-SLAVE mysql複製設置。如何獲取丟失的數據到mysql複製從屬

突然從機墜毀。 MASTER的工作沒有任何問題。現在我又開始了SLAVE。並且工作正常。數據同步正常。

但問題是,當奴隸停機時,SLAVE上的數據不存在。 (新表格和一些表格的行)。

我也沒有

CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.xxxxxx', MASTER_LOG_POS=xxxxx 

與大師的最新位置。但丟失的表格和行不會來自SLAVE(在某些表格上,行數少於主表格;)

注意:當前數據同步正在工作。但問題是我無法獲取丟失的數據。

有沒有辦法在不重新啓動master數據庫的情況下獲取這些數據,而無需再次執行整個過程?

感謝

回答

1

這是我如何做到這一點時,從失控同步....

在主...

# mysqldump -u user -p --all_databases --master-data > all_mysql_data.sql 

然後在奴隸...

# mysql -u user -p -e 'slave stop;' 

# mysql -u user -p < all_mysql_data.sql 

# mysql -u user -p -e 'slave start;' 

# mysql -u user -p -e 'show slave status\G;' 

這將是很好的你閱讀mysqldump爲您的版本。密切關注--all_databases和--master-data選項。非常厲害的巨菊。 ;)

+0

謝謝你的答案。我需要從奴隸中刪除現有的數據(數據庫)嗎?而且我只需要兩個數據庫不是全部。還有,我們不需要再次將主人位置設置爲奴隸嗎?其他方面如何同步會發生? – 2013-05-10 06:23:19

+2

不需要刪除表格,轉儲文件將包含'DROP TABLE IF EXISTS ...' - --master-data選項也將添加一個'CHANGE MASTER TO ...'行到轉儲文件。就像我說的那樣,閱讀它。然後,創建一個轉儲文件,打開它並查看裏面。 – MrCleanX 2013-05-10 13:55:45