更新XAMPP后,MySQL无法启动

时间:2017-05-14 17:15:52

标签: mysql xampp innodb

我最近更新了我的XAMPP版本,以便能够使用PHP 7。 我没有迁移的问题,所以我将整个目录复制到我的笔记本上来处理它。

MySQL服务在启动时总是崩溃。今天回到我的电脑后,我不得不意识到MySQL不会再在我的电脑上启动了。

2017-05-14 19:02:58 8200 [Note] InnoDB: The log sequence numbers 2453615 and 2453615 in ibdata files do not match the log sequence number 2453645 in the ib_logfiles!
2017-05-14 19:02:58 8200 [Note] InnoDB: Database was not shutdown normally!
2017-05-14 19:02:58 8200 [Note] InnoDB: Starting crash recovery.
2017-05-14 19:02:58 8200 [Note] InnoDB: Reading tablespace information from the .ibd files...
2017-05-14 19:02:58 8200 [ERROR] InnoDB: Attempted to open a previously opened tablespace. Previous tablespace bnw/bnwv1_games uses space ID: 29 at filepath: .\bnw\bnwv1_games.ibd. Cannot open tablespace phpmyadmin/pma__export_templates which uses space ID: 29 at filepath: .\phpmyadmin\pma__export_templates.ibd

这应该是错误日志中有趣的部分。一条消息后来它建议设置innodb_force_recovery > 0,但之后它只会抱怨丢失db.MYI(以及MYD以及创建空文件后的服务器,用户,事件。

由于ib_logfiles日志序列号在每次尝试启动时都会增加10,我很确定数据库中没有损坏的数据,我认为手动重置它就足够了。我怎么能这样做?

编辑:完成错误日志(从另一个开始):https://pastebin.com/T7GRgK4v

2 个答案:

答案 0 :(得分:0)

可能这个问题是[mysqld]部分中的以下行,它以某种方式从my.ini文件中注释掉/删除了:

key_buffer = 16M

评论完之后,这一行将是:

#key_buffer = 16M

请首先检查您的Windows事件查看器,以获取XAMPP控制面板中错误的更多线索。

答案 1 :(得分:0)

两个问题......

  • InnoDB遇到了一些麻烦。你改变了innodb_force_recovery?你希望它改回来了。

  • MyISAM在桌子上有些麻烦吗?然后在相关表格上执行CHECK TABLE,然后在该表格上执行REPAIR TABLE。这应该修复和/或重建.MYI(包含一个MyISAM表的索引)。