当我打开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.

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


当前回答

如果崩溃信息是“mysql.exe已停止工作”。以管理员身份运行xampp-control.exe将立即解决您的问题。

其他回答

我也遇到过同样的问题。MySQL一打开就停止了。

日志上写着:-

10:31:21 [mysql]检测到问题! 10:31:21 [mysql] 3306端口被“无法打开进程”使用! 10:31:21 [mysql]如果没有配置的空闲端口,mysql将不会启动! 10:31:21 [mysql]你需要卸载/禁用/重新配置阻塞应用程序 10:31:21 [mysql]或重新配置mysql和控制面板侦听不同的端口

我停止了端口3306 wamp上正在运行的服务(在我的情况下),在那之后它工作得很好。 在配置设置中更改端口也可以工作。

YW!

通过重新安装Xampp修复了它。

如果你不想经历对方提出的所有技术问题。

备份htdocs文件夹,然后卸载Xampp, 它会问你是否想保留htdocs文件夹,选择退出。 完全卸载, 移除残留物。 再次安装, 复制你备份的htdocs文件夹。

你就完成了。

解决方案:遵循下面列出的步骤。

步骤1。将文件夹c:\xampp\mysql\data重命名为c:\xampp\mysql\data_bkp(可以使用任何名称)。

步骤2。新建文件夹c:\xampp\mysql\data。

步骤3。复制mysql\backup中的内容到新的mysql\data文件夹中。

步骤4。将mysql\data_bkp中的所有数据库文件夹复制到mysql\data中(跳过mysql\data_bkp中的mysql、performance_schema和phpmyadmin文件夹)。 IMPORTATN注意:-请不要替换现有的文件,同时粘贴(点击跳过这些文件)

第5步。最后从mysql\data_bkp复制ibdata1文件,并将其替换到mysql\data文件夹中。

步骤6。从XAMPP控制面板启动MySQL。

而且,它已经完成了。没有数据库丢失,没有端口更改,没有以管理员身份运行,没有强制恢复,没有杀死mysqld进程,没有从以前的版本恢复,没有更多的错误。

简单的解决方案 从Xampp控制面板打开外壳

mysqld --console --skip-grant-tables --skip-external-locking

然后再次打开另一个shell并运行

mysqlcheck -r --databases mysql --use-frm

现在关闭两个shell并重新启动xampp。

尝试以下解决方案来解决这个问题。在执行此过程之前,将数据文件夹C:\xampp\mysql\data重命名为old_data。 然后在SQL文件夹中创建一个名为data的新文件夹。 将备份C:\xampp\mysql\backup文件夹中的所有文件和文件夹复制到data文件夹中。 在最后一步中,从old_data文件夹复制ibdata1文件和test文件夹,并将其放入data文件夹中。 现在运行程序并享受吧!