2011-10-16 106 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

相关问题