恢复 mysql 数据库 innodb‘表不存在’

恢复 mysql 数据库 innodb‘表不存在’

我们的服务器上周崩溃了,我们丢失了很多信息。我们能够恢复.frm表格、和的文件ib_logfile0ib_logfile1ibdata1无法恢复.ibd

我尝试了innodb-force-recovery1 至 6 的所有级别以及我在网上找到的许多其他“解决方案”,但都没有成功。

现在我正试图通过数据库来完成这件事,但遇到了同样的mysqldump问题restore马修在这

这个答案看起来它可能会起作用。我的问题是,首先 - 我的服务器是基于 Windows 的,其次 - 我缺乏在 Windows 命令行上应用它的知识和技能。

有没有适用于 Windows 的类似解决方案

编辑

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

答案1

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

据我所知你不需要ib_logfile?文件,论坛帖子证实了这一点。这里的关键操作是:

  1. 全新安装 MySQL(使用相同版本);
  2. 手动重建同名数据库,如果有的话,可以从最新的备份转储中完成;
  3. 禁用表 1. innodb_file_per_table我的cnf,最好恢复旧配置;
  4. 替换数据表在新安装中使用恢复的安装。

启动 MySQL 后,您应该能够从 InnoDB 表中浏览和转储数据。

相关内容