当我打开XAMPP并单击启动MySQL按钮时,它给了我一个错误。 我刚才启动了它,但现在它不工作了。

12:19:12 PM [mysql] Attempting to start MySQL app... 12:19:12 PM [mysql] Status change detected: running 12:19:13 PM [mysql] Status change detected: stopped 12:19:13 PM [mysql] Error: MySQL shutdown unexpectedly. 12:19:13 PM [mysql] This may be due to a blocked port, missing dependencies, 12:19:13 PM [mysql] improper privileges, a crash, or a shutdown by another method 12:19:13 PM [mysql] Press the Logs button to view error logs and check 12:19:13 PM [mysql] the Windows Event Viewer for more clues 12:19:13 PM [mysql] If you need more help, copy and post this 12:19:13 PM [mysql] entire log window on the forums

以下是错误日志的内容:

2013-08-02 12:19:12 4536 [Note] Plugin 'FEDERATED' is disabled. 2013-08-02 12:19:12 f64 InnoDB: Warning: Using innodb_additional_mem_pool_size is DEPRECATED. This option may be removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB's internal memory allocator. 2013-08-02 12:19:12 4536 [Note] InnoDB: The InnoDB memory heap is disabled 2013-08-02 12:19:12 4536 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions 2013-08-02 12:19:12 4536 [Note] InnoDB: Compressed tables use zlib 1.2.3 2013-08-02 12:19:12 4536 [Note] InnoDB: Not using CPU crc32 instructions 2013-08-02 12:19:12 4536 [Note] InnoDB: Initializing buffer pool, size = 16.0M 2013-08-02 12:19:12 4536 [Note] InnoDB: Completed initialization of buffer pool 2013-08-02 12:19:12 4536 [Note] InnoDB: Highest supported file format is Barracuda. 2013-08-02 12:19:12 4536 [Note] InnoDB: The log sequence numbers 0 and 0 in ibdata files do not match the log sequence number 1616798 in the ib_logfiles! 2013-08-02 12:19:12 4536 [Note] InnoDB: Database was not shutdown normally! 2013-08-02 12:19:12 4536 [Note] InnoDB: Starting crash recovery. 2013-08-02 12:19:12 4536 [Note] InnoDB: Reading tablespace information from the .ibd files...

最重要的错误信息在这里:

2013-08-02 12:19:12 4536 [ERROR] InnoDB: 试图打开先前打开的表空间。 以前的表空间mysql/innodb_table_stats在filepath: .\mysql\innodb_table_stats.ibd使用的是空间ID: 1。 在文件路径:.\xat\payments.ibd下无法打开空间ID: 1的表空间xat/payments

日志的其余部分:

InnoDB: Error: could not open single-table tablespace file .\xat\payments.ibd InnoDB: We do not continue the crash recovery, because the table may become InnoDB: corrupt if we cannot apply the log records in the InnoDB log to it. InnoDB: To fix the problem and start mysqld: InnoDB: 1) If there is a permission problem in the file and mysqld cannot InnoDB: open the file, you should modify the permissions. InnoDB: 2) If the table is not needed, or you can restore it from a backup, InnoDB: then you can remove the .ibd file, and InnoDB will do a normal InnoDB: crash recovery and ignore that table. InnoDB: 3) If the file system or the disk is broken, and you cannot remove InnoDB: the .ibd file, you can set innodb_force_recovery > 0 in my.cnf InnoDB: and force InnoDB to continue crash recovery here.

这些错误的原因是什么?我该如何纠正它们?


当前回答

在我的情况下,我做了以下步骤,它是有效的:

在Xampp控制面板中,点击右边工具栏中的“服务”按钮 然后在服务列表中找到MySQL 点击它然后在面板左侧点击stop 回到Xampp控制面板,点击开始。

其他回答

10秒内解决

进入xampp文件夹中的mySql文件夹 重命名数据文件夹为data-old 创建新文件夹,命名为data 复制备份文件夹的所有内容到新的数据文件夹…

你可以出发了

永远不要删除这个文件(ibdata1),因为您的所有数据都会被删除!! 我有三个建议:

答: 1-退出XAMPP控制面板。 1-重命名mysql/data文件夹为mysql/data_old(你可以使用任何名称) 创建一个新文件夹mysql/data 3-拷贝mysql/backup目录下的内容到新的mysql/data文件夹中 拷贝mysql/data_old目录下的所有数据库文件夹到mysql/data目录下(跳过data_old目录下的mysql、performance_schema和phpmyadmin文件夹) 5-最后从mysql/data_old复制ibdata1文件,并将其替换到mysql/data文件夹中 6-重新启动系统。

B: 1-停止所有sql服务。 2-接下来,再次启动所有sql服务。

C: 1-打开XAMPP控制面板 2-点击Config按钮,在mysql前面,点击my.ini 3-更改客户端端口和服务器端端口。

下面是解决这个问题的方法:

打开C:\xampp\mysql\data 您将看到一个名为mysql/data的文件夹 将该文件夹从mysql/data重命名为mysql/data_not_useful任何你想给的名字。 创建一个名为mysql/data的新文件夹。 复制mysql/backup的所有文件,粘贴mysql/data。 现在转到mysql/data_not_useful并从那里复制文件ibdata1。 然后粘贴到mysql/data(你必须替换文件)。 重新启动xampp服务器。 现在运行你的mysql服务器。

2022年六月

免责声明

尽管很多人说“它起作用了”,但很少有人说“它没有作用”。

很难说是什么原因造成的,而且它也不起作用。就我个人而言,下面提供的解决方案对我有用,到目前为止我没有得到任何问题,因此我分享这个。

我不建议卸载,所以基本上可以备份文件并尝试此解决方案。如果它不起作用,那么重新放置这些文件。

参与过其他版本

这个问题也适用于其他xampp版本。 我本人没有进行过测试,但一些用户进行过测试。 (如果你在不同的版本上测试过,请在评论中告诉我,我会在这里添加)

XAMPP v8.1.6 - Saeid Z XAMPP v7.4.16 - CapelliC XAMPP v3.3.0 -我自己

2022年2月(问题)

我今天(2022年2月2日)也遇到了同样的问题。 我使用下面提到的相同解决方案修复了这个问题(参见2021年12月(解决方案))

XAMPP问题截图

XAMPP固定

2021年12月(方案)

因为这个问题是持续的, 我会尽我最大的努力去解决它。

我的问题

每当这个问题发生时,我都会访问这个帖子。我唯一尝试的是卸载xampp并重新安装它,这解决了问题。那是在我的旧系统上。

我使用的是全新的windows 10,没有多余的软件或问题,但我在很长一段时间后又意外关机了。我提出这个问题,希望有人能告诉我到底发生了什么,而不是解决这些问题。但不幸的是,我找不到它。

澄清一下,我的新杂志不是

港口 意外关闭 窗户卡住了 不需要的软件 病毒或恶意软件。

有一天我打开xampp,它停止工作了。

方法一(2021年12月22日)

停止MySQL。 转到C:/xampp/mysql目录,复制数据文件夹,并将其保存在其他地方(可能在另一个驱动器中)作为备份。 打开你的原始数据文件夹(C:/xampp/mysql),按“类型”对文件进行排序。 选择INFO File类型的文件并删除它们(下面的截图)。 启动MySQL。现在应该可以了。

方法1截图

重要的

上述解决方案并不一定能解决问题。有时不会。为了避免丢失数据的主要风险,请尝试以下方法。

只有在需要时才在控制面板中打开MySQL。 不要将XAMPP控制面板设置为windows启动状态。 尽可能备份数据库。如果没有,试着每个周末备份一下。

PS:每当上述方法不起作用时,我会尝试更新这个答案。我将尝试在不卸载XAMPP的情况下以最简单的方式解释它。

如果对你有用,请告诉我。

简单的解决方案

重命名xampp\mysql\data文件夹中的以下文件

 ib_logfile0
 ib_logfile1

或任何这样的日志文件

 ib_logfile0.bak
 ib_logfile1.bak

现在从xampp控件启动mysql。