当我打开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\data文件夹中的以下文件

 ib_logfile0
 ib_logfile1

或任何这样的日志文件

 ib_logfile0.bak
 ib_logfile1.bak

现在从xampp控件启动mysql。

其他回答

我也面临着同样的问题,但上面提到的解决方案没有一个对我有帮助。 我去了mysql配置文件(my.ini),并更改了[mysqld]下的端口号。mysql默认运行在3306端口上。

port= 3306

我把它改成,

port= 8111

然后以管理员身份运行。最后这对我有用。

0.cntr+alt+delet
1.end task mysqld
2.Restart mysql.

first of all, make a backup file of your database C:\xampp\mysql\data copy this file and past it somewhere in your pc. After this open, the data file and also open the XAMPP server try to delete the files step by step one by one after deleting each file try to run the MySQL server after deleting a single file as shown in the screenshot thus your databases won't delete. if the file deletion does not work then try to copy the same files from the backup folders and repeat this until it works... this is time taking but this worked for me I have solved this in 20 minutes.

永远不要删除这个文件(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-更改客户端端口和服务器端端口。

Apache - >配置- >打开httpd . conf。搜索监听或80,更新监听端口到8081保存并重新启动服务器。 哦,如果你有Skype,关掉它。