2012-03-14 47 views
1

我正在將一組HD中的MySQL從設備從一組HD移動到另一組。該機器的配置使我無法同時擁有舊硬盤和新硬盤。所以我rsync'd數據目錄到另一臺機器。將MySQL從設備移動到新的硬盤驅動器 - 我需要mysqld-relay-bin日誌嗎?

磨片新的硬盤驅動器在網上來了,我rsyn'ed數據目錄回來。這工作得很好。

但是,我不能開始複製。這是我得到的錯誤。

120314 4:23:07 [Warning] Neither --relay-log nor --relay-log-index were used; so replication may break when this MySQL server acts as a slave and has his hostname changed!! Please use '--relay-log=mysqld-relay-bin' to avoid this problem. 
120314 4:23:07 [ERROR] Failed to open the relay log '/var/lib/mysqllogs/mysqld-relay-bin.000273' (relay_log_pos 677043943) 
120314 4:23:07 [ERROR] Could not find target log during relay log initialization 
120314 4:23:07 [ERROR] Failed to initialize the master info structure 

我發現了這個評論: https://serverfault.com/questions/61471/moving-a-mysql-slave-to-a-new-host-failed-to-open-the-relay-log

如果只是抱怨中繼日誌,在大多數情況下,他們 都是一次性的,如果主仍然有各地的二進制日誌。您可以 在從站上運行CHANGE MASTER TO,它將刷新現有的 中繼日誌並重新開始。您不需要製作新的副本。

這似乎表明,我並不需要這些日誌文件。

主機名稱未更改。

我的問題:

我需要這些日誌文件?

如果不是這樣,我需要做什麼才能得到複製開始了嗎?它會記得它離開的地方嗎?

如果我確實需要這些日誌文件,有什麼事我差點忘?

回答

4

我不認爲你需要的繼電器箱包廂文件才能正常工作。它可能記得它停止的地方,你是否嘗試命令mysql>RESET SLAVE;?您應該通過SHOW SLAVE STATUS從SLAVE獲取位置;查看是否仍然記住,然後檢查主服務器上的日誌文件是否仍然存在,因爲只要您設置最大文件大小,它就會保留它。但請嘗試RESET SLAVE;如果你沒有,它會做魔術。您可能需要在鎖定表後立即轉儲現有服務器數據,然後執行「SHOW MASTER STATUS」,如果您可以選擇從頭開始複製,則不建議嘗試保存此過程。

+1

'RESET SLAVED'像老闆一樣工作,謝謝。很多在線文檔都有「更多的變通」,這些變得更加複雜。 – 2014-08-18 06:14:30

相關問題