我在 XAMPP 中启动 MYSQL 时遇到问题。Apache 启动正常,但 MYSQL 不断报告意外关闭。
我被引导删除C:\xampp\mysql\data\ibdata1
,之后它就可以工作了,但是这会删除我的所有数据库,并且 MYSQL 在我重新启动机器后再次停止工作。
我浏览了错误日志,这就是我所看到的:
[错误] InnoDB:试图打开以前打开的表空间。以前的表空间 mysql/innodb_index_stats 在文件路径:.\mysql\innodb_index_stats.ibd 使用空间 ID:2。无法打开使用空间 ID 的表空间 yiicrud/customer:2 在文件路径:.\yiicrud\customer.ibd InnoDB:错误:无法打开单表表空间文件 .\yiicrud\customer.ibd InnoDB:我们不继续崩溃恢复,因为如果我们无法将 InnoDB 日志中的日志记录应用到该表,则该表可能会变为 InnoDB: 损坏。InnoDB: 修复问题并启动mysqld: InnoDB: 1) 如果文件有权限问题,mysqld 不能 InnoDB: 打开文件,你应该修改权限。InnoDB:2)如果不需要该表,或者您可以从备份中恢复它,InnoDB:那么您可以删除 .ibd 文件,InnoDB 将执行正常的 InnoDB:崩溃恢复并忽略该表。InnoDB: 3) 如果文件系统或磁盘坏了,无法删除InnoDB: .ibd 文件,可以在my.cnf InnoDB: 中设置innodb_force_recovery > 0 并在此处强制InnoDB 继续crash recovery。