Xampp MySQL无法启动 - "尝试启动MySQL服务..."

45
我刚刚安装了Windows版的XAMPP,应该是最新版本(XAMPP控制面板v3.2.1)。
Apache在80和443端口上正常运行,但MySQL无法启动。当我按下启动按钮时,会出现以下信息:
尝试启动MySQL服务...
然后弹出一个窗口询问是否允许此操作,我想要允许。但之后什么也没有发生。我可以按想要的次数,但结果始终相同。
我该怎么办?

检查启动mysql的错误日志。您是否完全卸载了之前的任何mysql,或者在安装之前检查是否存在mysql安装? - Aman Aggarwal
XAMPP控制面板和mysql_error.log中都没有错误日志。今天安装XAMPP后,我没有卸载任何东西。 - BeHaa
可能是MySQL在XAMPP服务器上无法启动的重复问题。 - Andrew T.
可能是xampp MySQL无法启动的重复问题。 - Ysr Shk
这里有一篇你可以参考的文章。它概述了一些可能的原因和一些解决方法,非常有用:https://blog.terresquall.com/2022/08/xampp-mysql-not-starting-on-windows/ - John Doe
22个回答

46
如果您已经在Windows上安装了MySQL,则转到Windows的services.msc文件,右键单击MySQL文件并停止服务,现在打开XAMPP并启动MySQL。 现在MySQL将在端口3306上启动。

我的 XAMPP 上的 MYSQL 服务器一直在立即停止。我不知道在端口3306上运行了什么。这是解决方案。谢谢! - Fanoflix

11

我遇到了一个问题,因为我不小心将XAMPP安装到c:\windows\program files (x86),导致Windows权限问题。

安装说明指出不要在那里安装,但我误解成了要在那里安装。

我卸载并重新安装到c:\xampp,然后它就可以正常工作了。


1
谢谢!最初我将它放在 C:\xampp-portable-win32-7.2.3-0-VC15\xampp 下,然后取出了 xampp 目录并将其重命名为 C:\xampp2(因为我还有一个旧版本),最后只有当我将旧版本重命名为其他名称并将这个新版本简单地放在 C:\xampp 下时,它才能正常工作,就像你所做的和我通常也这样做。 - Modular
1
exactly the same thing :D - Bashir Abdelwahed

8

停止 XAMPP 后,进入配置文件,将 MySQL 的端口从 3306 改为 3308 并保存。现在启动 SQL……享受吧!


7
  1. 在命令提示符中键入:services.msc 查找 MySql 并将属性更改为禁用。
  2. Xampp 的控制面板中,通过左侧的复选框卸载 MySql,并通过单击同一复选框中的安装按钮再次安装。

1
我曾经遇到过这个问题,并没有勾选复选框,你可能需要以管理员权限运行XAMPP控制面板。如果没有管理员权限,则找不到复选框。 - Jasper Lankhorst
1
小心,我认为你会失去旧安装中的所有数据(数据库)。谢谢。 - MindRoasterMir

6

Windows 10用户:

我之前也遇到了这个问题。经过一番调查,找到了解决方法。在此之前,我遇到了另一个问题,即端口3306被占用。所以我发现端口3306被另一个程序占用了。具体来说,是我尝试学习的一个JDBC程序,在尝试使用JDBC之前,我已经安装了XAMPP。所以我删除了整个文件,然后就出现了和你一样的情况。问题在于重新安装MySQL时,我的"ImagePath"(注册表变量)发生了改变。简而言之,XAMPP不知道你的mysqld.exe在哪里,或者该文件不在你告诉它的位置上。以下是修复方法:

  1. 打开运行窗口(Win + r),输入"regedit"。这是你编辑注册表的地方。
  2. 导航到:HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > MySql

enter image description here

  1. 点击mySql并注意ImagePath变量。右键单击'ImagePath',然后点击修改。
  2. 输入您xammp mySql文件的位置(通过xammp进行导航以找到它),尽管很可能与我的相同。

酷源:

https://superuser.com/questions/222238/how-to-change-path-to-executable-for-a-windows-service/252850

https://dev.mysql.com/doc/mysql-windows-excerpt/5.7/en/mysql-installation-windows-path.html


这个解决方案对我有用,因为我之前使用过wamp服务器,所以mySQL路径设置为旧目录。非常感谢。 - Ayman Al-Absi

4
有许多原因之一是xampp无法自行启动MySQL服务。您需要手动运行MySQL服务。

首先,请确保未运行 'mysqld.exe',如果有,请结束它。(进入 任务管理器 > 进程选项卡 > 右键点击 'mysqld.exe' > 结束任务)

通过 运行 (按下 'Windows + R') > 服务.msc 或在 XAMPP 控制面板上,单击 '服务' 按钮 打开您的 services.msc。找到 'MySQL' 服务,右键单击并运行它。


5
我在服务面板中没有找到任何MySQL。 - Sushant Kumar Pradhan

3

仅适用于Windows 我已通过以下步骤解决了mysql启动问题

步骤:

  1. 打开CMD并复制粘贴命令 netstat -ano | findstr 3306 如果命令返回结果,则端口3306处于活动状态

  2. 现在我们想要停止正在使用的端口(3306),因此现在打开PowerShell并粘贴命令 Stop-Process -Id (Get-NetTCPConnection -LocalPort 3306).OwningProcess -Force

其中3306是活动端口。现在端口将不再处于活动状态

从Xampp启动Mysql服务,现在可以正常工作

注意:这仅适用于端口3306处于活动状态的情况。如果您在第1步中没有得到任何结果,则该方法不适用。可能会存在其他错误

对于其他端口,请将3306更改为"所需端口"

打开CMD和Powershell的方法

  1. CMD->从开始菜单中搜索cmd
  2. Powershell->从开始菜单中搜索powershell

3

只需停止Xampp中的My sql 15分钟,15分钟后重新启动Mysql。如果My sql正在运行但端口未显示在Xampp中,则单击Config> my.ini编辑此文件并更改端口号3306> 3307并保存并重新启动xampp……


2
今天遇到了这个问题,在一台Windows 10机器上。打开C:\xampp\data\mysql_error.log文件,并查找包含[ERROR]的行。

最后一个错误行是:

... [ERROR] InnoDB: File (unknown): 'close' returned OS error 206. Cannot continue operation

重要提示:如果您遇到不同的错误,请搜索谷歌(您可能会找到解决方法)。

在搜索上述错误时,我发现了Apache Friends Support Forum上的这个帖子,它带领我找到了解决方法:

  1. 打开C:\xampp\mysql\bin\my.ini文件,并在[mysqld]部分的末尾添加以下行(在包含## UTF 8 Settings的行之前):
innodb_flush_method=normal

重新启动MySQL服务。应该可以正常运行。

1
你使用了默认的安装路径吗?
在我的情况下,当我运行mysql_start.bat时,我遇到了以下错误:
Can`t find messagefile 'D:\xampp\mysql\share\errmsg.sys'

我把我的xampp文件夹移动到了硬盘的根目录,然后它就开始工作了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接