Xampp 中的 InnoDB 损坏
InnoDB Corruption in Xampp
我有两周前的备份,这将是最后的手段,但数据库文件本身看起来很好,而且似乎只是 ibdata1
文件有问题。如前所述,我正在使用 Xampp 并且 MySQL 在我启动后立即崩溃。这是错误日志:http://textuploader.com/7vfd
我没有做任何不寻常的事情;它似乎刚刚启动并停止工作。
我查找了 InnoDB 恢复,但我尝试的解决方案需要 MySQL 才能正常运行,这不是由于损坏造成的。有没有办法用错误的 ibdata1
文件来挽救可能是完整的 IBD 文件?
编辑:我知道使用 innodb_force_recovery = #
并且我已经尝试过了...只是我试错了 my.ini
。我不得不使用 bin
文件夹中的那个。它现在似乎已修复。
ibdata1 文件包含有关您的 Mysql 数据库的表空间信息和其他元数据。
您可以尝试使用 innodb_force_recovery = 1
一直到 innodb_force_recovery = 6
看看是否可以解决问题。尝试在您的 my.cnf
(my.ini
for windows)文件中更改它,然后再次尝试重新启动您的 mysql 服务器。
如果您能够使用恢复标志启动 Mysql,您的数据库将处于只读模式。你应该做一个 mysql 数据转储,停止 mysql,重新安装新的,再次创建你的数据库,然后导入回数据。
这里是 link 有关 innodb 恢复的更多信息 dev.mysql。
如果您使用 linux...
另一个更复杂的选项是使用 percona 恢复工具包。这将重新调整您的表空间。虽然,从经验来看,如果您是新手,导航和实施需要一些时间。
但是,工具包的创建者 akuzminsky(这太酷了!)提到他对工具包进行了重大改进。
Link 下载工具包 Percona.com
Link 以及来自 chriSQL.
的演练
Link 到 akuzinsky 的网站 TwinDB。
除非数据是关键任务,否则我会恢复到 2 周前的备份。您可能最终为恢复此数据投入的时间和精力可能会超出收益。
在我的例子中,mysql.ini 没有 innodb_force_recovery 选项。
所以我把它添加到文件中,启动能够正常启动
我的案例的 ini 文件的位置是
C:\xampp\mysql\bin\my.ini
innodb_force_recovery = 1
就我而言,数据在 windows 检查磁盘后损坏。在适当的时候,数据库损坏了。
希望这也能帮助到那里的人。
我有两周前的备份,这将是最后的手段,但数据库文件本身看起来很好,而且似乎只是 ibdata1
文件有问题。如前所述,我正在使用 Xampp 并且 MySQL 在我启动后立即崩溃。这是错误日志:http://textuploader.com/7vfd
我没有做任何不寻常的事情;它似乎刚刚启动并停止工作。
我查找了 InnoDB 恢复,但我尝试的解决方案需要 MySQL 才能正常运行,这不是由于损坏造成的。有没有办法用错误的 ibdata1
文件来挽救可能是完整的 IBD 文件?
编辑:我知道使用 innodb_force_recovery = #
并且我已经尝试过了...只是我试错了 my.ini
。我不得不使用 bin
文件夹中的那个。它现在似乎已修复。
ibdata1 文件包含有关您的 Mysql 数据库的表空间信息和其他元数据。
您可以尝试使用 innodb_force_recovery = 1
一直到 innodb_force_recovery = 6
看看是否可以解决问题。尝试在您的 my.cnf
(my.ini
for windows)文件中更改它,然后再次尝试重新启动您的 mysql 服务器。
如果您能够使用恢复标志启动 Mysql,您的数据库将处于只读模式。你应该做一个 mysql 数据转储,停止 mysql,重新安装新的,再次创建你的数据库,然后导入回数据。
这里是 link 有关 innodb 恢复的更多信息 dev.mysql。
如果您使用 linux...
另一个更复杂的选项是使用 percona 恢复工具包。这将重新调整您的表空间。虽然,从经验来看,如果您是新手,导航和实施需要一些时间。
但是,工具包的创建者 akuzminsky(这太酷了!)提到他对工具包进行了重大改进。
Link 下载工具包 Percona.com
Link 以及来自 chriSQL.
的演练Link 到 akuzinsky 的网站 TwinDB。
除非数据是关键任务,否则我会恢复到 2 周前的备份。您可能最终为恢复此数据投入的时间和精力可能会超出收益。
在我的例子中,mysql.ini 没有 innodb_force_recovery 选项。 所以我把它添加到文件中,启动能够正常启动
我的案例的 ini 文件的位置是
C:\xampp\mysql\bin\my.ini
innodb_force_recovery = 1
就我而言,数据在 windows 检查磁盘后损坏。在适当的时候,数据库损坏了。
希望这也能帮助到那里的人。