我有两周前的备份,这将是最后的手段,但数据库文件本身看起来很好,看起来它只是ibdata1
文件有问题。如上所述,我在启动后立即使用Xampp和MySQL崩溃。以下是错误日志:http://textuploader.com/7vfd
我没有做过任何与众不同的事;它看起来似乎已经停止工作了。
我查找了InnoDB恢复,但我尝试的解决方案要求MySQL正常运行,这不是因为腐败。有没有办法用错误的ibdata1
文件挽救可能完整的IBD文件?
编辑:我知道使用innodb_force_recovery = #
并且我已经尝试过了...除了我在错误的my.ini
中尝试过它。我不得不使用bin
文件夹中的那个。它现在似乎已得到解决。
答案 0 :(得分:2)
ibdata1文件包含表空间信息和有关Mysql数据库的其他元数据。
您可以尝试innodb_force_recovery = 1
一直使用innodb_force_recovery = 6
来查看是否可以解决问题。尝试在my.cnf
(my.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 进行磁盘检查后数据已损坏。在适当的时候,数据库损坏了。
希望这也能帮助到那里的人。