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

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


当前回答

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

其他回答

我也有同样的问题。溶液是杀灭过程 查找端口(3306)的PID

netstat -a -n -o | find "3306"

你会看到你需要的一切。

0.0.0.0:3306           0.0.0.0:0              LISTENING       8120   TCP    
0.0.0.0:33060          0.0.0.0:0              LISTENING       8120   TCP    
[::]:3306              [::]:0                 LISTENING  8120   TCP    
[::]:33060             [::]:0                 LISTENING  8120

PID为8120

执行如下命令

taskkill /PID 8120 /F

重新启动MySQL。会没事的。快乐的绳索。

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

打开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年)

将mysql/data文件夹重命名为mysql/data_old 复制mysql/backup文件夹,命名为mysql/data 将所有数据库文件夹和mysql文件夹从mysql/data_old复制到mysql/data 将mysql/data_old/ibdata1文件拷贝到mysql/data文件夹中

从XAMPP控制面板启动MySQL

参考

https://www.youtube.com/watch?v=ipMedkjMupw&ab_channel=GeekyScript

打开C:\xampp\mysql\backup。

复制所有文件。

将它们粘贴到C:\xampp\mysql\data中。

如果Windows要求你替换某些文件,那就替换它们。

如果您的XAMPP控制窗格处于活动状态,请关闭它。

转到C:\xampp,找到xampp-control,运行它。

启动Apache,启动MySQL。


就是这样。

享受吧!

步骤01:如果启动XAMPP MySQL时出现错误, 按照以下步骤轻松解决这个问题。

步骤02:停止服务器并进入配置。

步骤03:打开my.ini文件。

步骤04:在记事本文本中找到这2个端口号。

步骤05:更改这两个端口号3306—> 3308或任何其他数字。

使用Ctrl+S保存文本文件后

步骤07:转到XAMPP安装文件夹并打开XAMPP文件夹。 步骤08:找到phpMyAdmin文件夹。

步骤09:打开phpMyAdmin文件夹,找到config.inc.php文件。

步骤10:Change Here端口号之前您在步骤05中修改的端口号。(如3008)和保存此文本文件。

步骤11:关闭所有文件后,转到XAMPP服务器。

步骤12:再次启动MySQL服务器。

步骤13:打开浏览器,输入URL——>> localhost 步骤14:进入PhpMyAdmin

步骤15:phpMyAdmin is Working normal Now。

如果启动Apache服务器时出现错误,

步骤01:停止服务器,并打开配置文件。

步骤02:在文本文件中找到这个Listen数字。

步骤03:将80更改为8000或任何其他值。并保存文本文件。

步骤04:保存文本文件后,打开XAMPP服务器并再次启动Apache服务器。

打开你的网页浏览器。 步骤06:输入localhost:8000

步骤07:现在你可以打开phpMyAdmin。

注意:更改Apache端口号后,必须在URL中的localhost:后面添加。

-----------谢谢大家-----------