XAMPP连接MySQL报错:MySQL意外关闭,求解决方案
XAMPP中MySQL意外关闭的排查与解决
错误现象
启动XAMPP的MySQL时出现以下错误:
7:57:51 PM [mysql] Error: MySQL shutdown unexpectedly. 7:57:51 PM [mysql] This may be due to a blocked port, missing dependencies, 7:57:51 PM [mysql] improper privileges, a crash, or a shutdown by another method. 7:57:51 PM [mysql] Press the Logs button to view error logs and check 7:57:51 PM [mysql] the Windows Event Viewer for more clues 7:57:51 PM [mysql] If you need more help, copy and post this 7:57:51 PM [mysql] entire log window on the forums
MySQL错误日志详情
2023-06-18 19:57:49 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions 2023-06-18 19:57:49 0 [Note] InnoDB: Uses event mutexes 2023-06-18 19:57:49 0 [Note] InnoDB: Compressed tables use zlib 1.2.12 2023-06-18 19:57:49 0 [Note] InnoDB: Number of pools: 1 2023-06-18 19:57:49 0 [Note] InnoDB: Using SSE2 crc32 instructions 2023-06-18 19:57:49 0 [Note] InnoDB: Initializing buffer pool, total size = 16M, instances = 1, chunk size = 16M 2023-06-18 19:57:49 0 [Note] InnoDB: Completed initialization of buffer pool 2023-06-18 19:57:50 0 [Note] InnoDB: 128 out of 128 rollback segments are active. 2023-06-18 19:57:50 0 [Note] InnoDB: Creating shared tablespace for temporary tables 2023-06-18 19:57:50 0 [Note] InnoDB: Setting file 'C:\xampp\mysql\data\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ... 2023-06-18 19:57:50 0 [Note] InnoDB: File 'C:\xampp\mysql\data\ibtmp1' size is now 12 MB. 2023-06-18 19:57:50 0 [Note] InnoDB: Waiting for purge to start 2023-06-18 19:57:50 0 [Note] InnoDB: 10.4.27 started; log sequence number 11914054; transaction id 20402 2023-06-18 19:57:50 0 [Note] InnoDB: Loading buffer pool(s) from C:\xampp\mysql\data\ib_buffer_pool 2023-06-18 19:57:50 0 [Note] Plugin 'FEEDBACK' is disabled. 2023-06-18 19:57:50 0 [Note] Server socket created on IP: '::'.
已尝试的操作
修改my.ini中的端口为3307/3309/3310,修改内容如下:
# The following options will be passed to all MySQL clients [client] # password = port=3307 socket="C:/xampp/mysql/mysql.sock" # Here follows entries for some specific programs # The MySQL server default-character-set=utf8mb4 [mysqld] port=3307
其他解决思路
- 修复InnoDB临时文件:删除
C:\xampp\mysql\data\ibtmp1文件,然后重启MySQL服务。日志中显示该文件被初始化,若文件损坏会导致启动失败。 - 确认端口占用情况:打开命令提示符,执行
netstat -ano | findstr :[你的端口号](比如netstat -ano | findstr :3307),查看是否有其他进程占用该端口。若有,打开任务管理器,找到对应PID的进程并结束。 - 检查数据目录权限:右键
C:\xampp\mysql\data目录,选择「属性」→「安全」,确保当前登录用户拥有该目录的完全控制权限。 - 重置MySQL数据目录:备份
data目录下自己创建的数据库文件夹,然后删除data目录中除了备份文件夹之外的所有文件,再运行xampp/mysql/bin/mysql_install_db.exe初始化数据目录,之后重启MySQL。 - 查看Windows事件日志:按下Win+R,输入
eventvwr.msc打开事件查看器,展开「Windows日志」→「应用程序」,查找MySQL相关的错误事件,获取更具体的故障原因。
内容的提问来源于stack exchange,提问作者Josh
相关产品推荐
相关产品推荐

