2011-10-16 99 views
2

我擁有MySQL的.frm文件中的所有數據。我怎樣才能恢復數據?我不想恢復所有這些,只是一些記錄和表格,所以我需要從中刪除它們。如何從MySQL .frm中恢復數據?

從我所看到的,只有.frm文件,沒有.myd文件。然而,ibdata1文件。我該如何恢復?

+0

你有mySQL的數據目錄的完整副本嗎? –

+0

您不能從文件中恢復frm的數據,因爲它們只包含模式。如果你有ibdata文件或者一個大ibdata文件,那麼你有一組innodb表。 [Link1](http://www.nerdydork.com/restoring-mysql-innodb-files-on-windows.html)[Link2](http://www.chriscalender.com/?p=28) – Jauzsika

回答

6

我明白了。

1)我創建了一個空數據庫,以我的本地安裝中的服務器上真實數據庫的名稱命名。

2)我殺了「的mysqld」

3)我的3個國際文憑*文件複製到我的本地MySQL數據目錄(在Windows上它是在根驅動器的隱藏文件夾)。請確保您複製到InnoDB數據文件目錄,具體取決於您的my.cnf InnoDB和MyISAM數據可能存儲在不同的文件夾中。我也複製了.frm文件。

4)我跑"C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin\mysqld" --defaults-file="C:\Program Files (x86)\MySQL\MySQL Server 5.1\my.ini" --innodb-force-recovery=6

5)我跑mysql -uroot -pmypass確認use mydb; select * from mytable;返回的結果。

6)我以前mysqldump mydb mytable --compact > file.sql

這就是它!

+0

你!先生,我救了我的命! – func0der

+0

你讓我找到了解決方案 - ibdata *文件位於'mysql/data /'文件中,我期待它們位於每個數據庫文件夾中。 – Brett

相關問題