我们的服务器上周崩溃了,我们丢失了很多信息。我们能够恢复.frm
表格、和的文件ib_logfile0
,ib_logfile1
但ibdata1
无法恢复.ibd
。
我尝试了innodb-force-recovery
1 至 6 的所有级别以及我在网上找到的许多其他“解决方案”,但都没有成功。
现在我正试图通过数据库来完成这件事,但遇到了同样的mysqldump
问题restore
马修在这。
这个答案看起来它可能会起作用。我的问题是,首先 - 我的服务器是基于 Windows 的,其次 - 我缺乏在 Windows 命令行上应用它的知识和技能。
有没有适用于 Windows 的类似解决方案
编辑
我们没有使用innodb_file_per_table
,所以所有数据都应该存储在ibdata1
答案1
此 MySQL 论坛帖子看起来像是一个成功的故事,虽然有点老了。我记得我的一个类似的故事,在 Linux 上。Windows 平台在这里并不重要,MySQL 数据文件结构是相似的。实际上不需要命令行工作。我假设你的数据表文件没有受到任何损坏。
据我所知你不需要ib_logfile?文件,论坛帖子证实了这一点。这里的关键操作是:
- 全新安装 MySQL(使用相同版本);
- 手动重建同名数据库,如果有的话,可以从最新的备份转储中完成;
- 禁用表 1. innodb_file_per_table在我的cnf,最好恢复旧配置;
- 替换数据表在新安装中使用恢复的安装。
启动 MySQL 后,您应该能够从 InnoDB 表中浏览和转储数据。