2010-02-08 73 views
9

我正在使用LINUX,並且我錯誤地刪除了mysql文件夾中的ibdata1文件。如果我刪除MySQL中的ibdata1(LINUX)

我重新啓動了'mysqld'服務,現在當我試圖從數據庫中讀取數據時,它無法找到較舊的表。

我在一個很大的麻煩?請對此有所瞭解,如果有任何想法。

謝謝你的時間。

感謝和問候, SachinJadhav。

+1

+1同情。你完蛋了。你最後的機會是嘗試使用eg取消刪除文件。 debugfs。但很有可能你已經寫了足夠的分區來破壞恢復數據的任何機會。 – bobince 2010-02-08 16:03:22

回答

6

你有大麻煩了...

默認情況下ibdata1中包含表中的所有數據(並因此丟失)。即使你將它配置爲每個表使用一個單獨的文件,所有內部MySQL的數據都存儲在該文件中,據我所知,無法恢復它。

真的希望你有一個備份....

1

除非你定義innodb_file_per_table,這是一個單一的表空間與交易日誌(存儲在ib_logfile*)一起保持你的表中的數據。

刪除它將有效刪除存儲在InnoDB表中的所有數據。

+0

有什麼辦法可以恢復這個文件嗎? 我致命地尋找數據(如果它在那個文件中) Regards, Sachin Jadhav – SachinJadhav 2010-02-09 12:37:26

+0

@CachinJadhav在最後找到了這樣做的方法嗎?我只希望看到這種情況,就是能夠從日誌文件重建數據(取決於在那裏記錄的信息類型)。 – eglasius 2010-09-03 21:49:51