恢复MySQL数据库innodb'表不存在'

我们的服务器上周崩溃,我们失去了很多的信息。 我们能够恢复表ib_logfile0ib_logfile1ibdata1 .frm文件,但没有.ibd

我已经尝试了1到6级的所有级别的innodb-force-recovery以及我在网上find的很多其他“解决scheme”,但没有取得任何成功。

现在我试图做一个mysqldump数据库restore ,但遇到同样的问题Mathew在这里 。

这个答案看起来像可能工作。 我的问题是,第一 – 我的服务器是基于Windows的,第二 – 我缺乏在Windows命令行上应用此知识和技能。

有什么机会有一个类似的Windows解决scheme

编辑

我们没有使用innodb_file_per_table所以所有的数据都应该存储在ibdata1

这个MySQL论坛post看起来像一个成功的故事,虽然有点老了。 我记得我在Linux上的一个类似的故事。 Windows平台在这里并不重要,MySQL的数据文件结构是相似的。 没有命令行工作是真的需要。 我假设你的Ibdata文件没有任何损坏。

AFAIK你不需要ib_logfile? 文件在所有,论坛后确认。 这里的关键操作是:

  1. 新安装的MySQL(使用相同的版本);
  2. 手动重新创build同名数据库,可以从最新的备份转储完成,如果你有一个;
  3. 禁用my.cnf中的innodb_file_per_table ,最好还原旧的configuration;
  4. 用新的安装replaceIbdata

启动MySQL之后,您应该能够浏览和转储来自InnoDB表的数据。