我最近更新了我的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
答案 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表的索引)。