2010-10-15 147 views
0

我不得不從.myd和.frm文件恢復mysql數據庫。 Ii不知道從哪裏開始,我試圖在保留文件許可的情況下複製它們,但無濟於事,我還需要採取哪些其他步驟?恢復mysql備份.myd .frm

我有一種感覺,它與ib_logfile0,ib_logfile1和ib_data文件有關。但不知道該怎麼做。

回答

2

您不應該通過處理原始MySQL文件來進行備份。以這種方式結束損壞的數據庫非常容易。考慮當您開始將文件複製到備份介質時發生的情況 - 複製將花費非零時間,在此期間數據庫可能會在各個位置(包括您已複製的部分)寫入新數據。現在,您正在複製修改後的文件,即舊數據和新數據的混合。這個修改後的副本幾乎可以保證被破壞。

您應該使用mysqldump或mysqlhotcopy來代替,以保證一致的備份。

但是,如果您的數據庫相對安靜,並且設法獲得了一個乾淨的備份副本,則需要恢復的文件取決於要還原的表的類型。無論數據庫/表名是什麼,InnoDB都將其所有數據存儲在ib*文件中。 MyISAM使用根據數據庫/表名命名的目錄中的文件。

將備份副本複製到正確的位置後,必須重新啓動MySQL,因爲它仍將訪問文件的原始副本。