Xampp中的InnoDB腐败

时间:2015-06-03 00:12:30

标签: mysql xampp innodb

我有两周前的备份,这将是最后的手段,但数据库文件本身看起来很好,看起来它只是ibdata1文件有问题。如上所述,我在启动后立即使用Xampp和MySQL崩溃。以下是错误日志:http://textuploader.com/7vfd

我没有做过任何与众不同的事;它看起来似乎已经停止工作了。

我查找了InnoDB恢复,但我尝试的解决方案要求MySQL正常运行,这不是因为腐败。有没有办法用错误的ibdata1文件挽救可能完整的IBD文件?

编辑:我知道使用innodb_force_recovery = #并且我已经尝试过了...除了我在错误的my.ini中尝试过它。我不得不使用bin文件夹中的那个。它现在似乎已得到解决。

2 个答案:

答案 0 :(得分:2)

ibdata1文件包含表空间信息和有关Mysql数据库的其他元数据。

您可以尝试innodb_force_recovery = 1一直使用innodb_force_recovery = 6来查看是否可以解决问题。尝试在my.cnfmy.ini for windows)文件中更改此项,然后再次尝试重新启动mysql服务器。

如果能够使用恢复标志启动Mysql,则数据库将处于只读模式。你应该做一个mysqldump的数据,停止mysql,重新安装新的,再次创建你的数据库,然后导入回数据。

以下是有关innodb recovery dev.mysql的更多信息的链接。

如果你使用linux ......

另一个更复杂的选择是使用percona恢复工具包。这将重新调整您的表空间。虽然从经验来看,如果你是一个新手,从导航角度来看是一个挑战,需要花一些时间来实现。

然而,akuzminsky是该工具包的创建者(这有多酷!)提到他已经对该工具包进行了重大改进。

下载工具包Percona.com

的链接

chriSQL开始链接。

链接到akuzinsky的网站TwinDB

除非该数据对任务至关重要,否则我将在2周前恢复备份。您最终可能需要花费大量时间和精力来恢复这些数据。

答案 1 :(得分:1)

就我而言,mysql.ini 没有 innodb_force_recovery 选项。 所以我把它添加到文件中,启动能够正常启动

我的情况下ini文件的位置是

C:\xampp\mysql\bin\my.ini

innodb_force_recovery = 1

就我而言,在 Windows 进行磁盘检查后数据已损坏。在适当的时候,数据库损坏了。

希望这也能帮助到那里的人。