Apache - MySQL 服务检测到错误的路径。 / 已使用的端口
Posted
技术标签:
【中文标题】Apache - MySQL 服务检测到错误的路径。 / 已使用的端口【英文标题】:Apache - MySQL Service detected with wrong path. / Ports already in use 【发布时间】:2013-03-21 00:50:09 【问题描述】:我在启动 XAMPP 时遇到以下错误。
12:35:23 [main] Initializing Control Panel
12:35:23 [main] Windows Version: 64-bit
12:35:23 [main] XAMPP Version: 1.8.1
12:35:23 [main] Control Panel Version: 3.1.0 3.1.0 [ Compiled: September 20th 2012 ]
12:35:23 [main] Running with Administrator rights - good!
12:35:23 [main] XAMPP Installation Directory: "c:\xampp\"
12:35:23 [main] Checking for prerequisites
12:35:23 [main] All prerequisites found
12:35:23 [main] Initializing Modules
12:35:23 [Apache] XAMPP Apache Service is already running on port 80
12:35:23 [Apache] XAMPP Apache Service is already running on port 443
12:35:23 [mysql] MySQL Service detected with wrong path
12:35:23 [mysql] Change XAMPP MySQL settings or
12:35:23 [mysql] Uninstall/disable the other service manually first
12:35:23 [mysql] Found Path: "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.5\my.ini" MySQL
12:35:23 [mysql] Expected Path: c:\xampp\mysql\bin\mysqld.exe --defaults-file=c:\xampp\mysql\bin\my.ini mysql
12:35:23 [mysql] Problem detected!
12:35:23 [mysql] Port 3306 in use by "mysqld.exe"!
12:35:23 [mysql] MySQL WILL NOT start without the configured ports free!
12:35:23 [mysql] You need to uninstall/disable/reconfigure the blocking application
12:35:23 [mysql] or reconfigure MySQL to listen on a different port
12:35:23 [main] Starting Check-Timer
12:35:23 [main] Control Panel Ready
我无法在谷歌上找到合适的解决方案,所以我有点'希望有人能帮我解决这个问题。
哦,XAMPP 运行正常。 Apache 和 MySQL 服务都在运行..
【问题讨论】:
您的机器上已经运行了 MySQL 进程。尝试禁用Services
中的服务(Win+R -> services.msc 并搜索 MySQL 服务)。
但是如果我这样做了,我会取消哪个 MySQL 进程?因为我实际上想为了 Apache 保持它运行.. - 抱歉,我对此有点陌生。
你有一个进程在3306端口运行,可能是另一个mysql进程。可以尝试移除它,或者在XAMPP中更改mysql进程的端口。
【参考方案1】:
这是因为您可能安装了 wamp 服务器并卸载它,但 wampmysql.exe 仍在运行并使用默认的 mysql 端口 转到 msconfig 在服务选项卡下取消选中 wampmysqld 以停用它 重新启动计算机应该可以工作
【讨论】:
【参考方案2】:-
进入 cmd 并以管理员模式运行。
使用以下命令通过命令提示符卸载 mysql 服务。
sc delete mysql
重启 XAMPP
【讨论】:
在此之后您可能需要继续使用Ton's procedure 它就像一个魅力。 OP 应将此标记为已接受的答案,以帮助其他人找到正确的解决方案。 在 Windows 10 上完美运行。我已经从计算机中删除了 MySQL,但没有删除该服务。 在 Windows 10 上工作。谢谢 非常感谢。问题已解决。【参考方案3】:将 XAMPP 控制面板设置为在管理员权限下运行。
在 Win 7 中 1.首先确保XAMPP控制面板没有运行 2. SHIFT+右键点击XAMPP控制面板 3.点击属性 4.在属性中选择选项卡'兼容性' 5. 在“权限级别”下的选项卡底部,选中“以管理员身份运行此程序”框 6.点击确定
这对我有用
【讨论】:
在我的系统中,尽管 Apache 是作为服务安装的,但我也收到了错误消息。当我取消选中该框然后再次选中它时,错误消息消失了。我可能在 XAMPP 之外完成了安装即服务,这导致了冲突。【参考方案4】:好的,实际上解决这个问题很容易......遇到这个问题的大多数人可能甚至没有意识到你还没有安装完整的软件 :) 我尝试在网上查找,但收效甚微,除了一些人提到您需要寻找已经运行的那些服务。例如 filezilla 的问题,您在任务管理器中查看 filezilla 并停止进程,然后单击 xampp 控制面板中的 X 以安装 filezilla,然后单击运行,它应该会正常启动服务,向您显示带有复选标记的绿色精简版。
mysql 问题也是如此。
至于apache的问题,一般是端口被skype或其他程序占用的问题,但是您可以在网上找到如何轻松解决的信息: )
【讨论】:
【参考方案5】:好的,我发现了问题:)
ctrl+alt+delete 启动任务管理器,一旦你进入任务管理器去服务。找到 MySQL 并右键单击它。然后点击停止进程。这对我有用,我希望它对你有用:D
【讨论】:
【参考方案6】:首先输入cmd
。
然后写:
sc delete MySQL
然后重新启动您的计算机。重新启动计算机并打开xampp
时,您可以在MySQL
上看到十字符号。单击十字符号,然后单击开始。就是这样。
【讨论】:
答案在顶部【参考方案7】:这就是我解决类似问题的方法:
-
启动 XAMPP 控制面板。
卸载 MySQL 服务:点击 MySQL 旁边的“绿色检查”按钮,在 Service 列下。 “绿色检查”按钮将变为“红十字”按钮。
退出 XAMPP,然后重新启动它。
点击开始。
我希望它也能帮助解决你的问题。
【讨论】:
【参考方案8】:删除现有服务对我来说不是一个好的解决方案,因为在端口 3306 上运行 MySQL,需要其他服务。但是可以同时运行两个 MySQL 服务(一个具有其他名称和端口)。我在这里找到了解决方案:http://emjaywebdesigns.com/xampp-and-multiple-instances-of-mysql-on-windows/
这是我修改后的设置: 在 c:\xampp\mysql\bin\ 中编辑“my.ini”文件 将所有默认的 3306 端口条目更改为新值 3308
在 c:\xampp\php 中编辑“php.ini”并将 3306 替换为 3308
创建服务条目 - 在 Windows 命令行类型中
sc.exe create "mysqlweb" binPath="C:\xampp\mysql\bin\mysqld.exe --defaults-file=c:\xampp\mysql\bin\my.ini mysqlweb"
打开Windows服务并设置启动类型:自动,启动服务
【讨论】:
我现在如何更改 XAMPP 控制面板的默认值。它仍然给我错误:如果没有配置的端口可用,MyCQL 将无法启动! ""C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" MySQL57" 正在使用端口 3306! 没关系,我想通了。在 XAMPP 控制面板上转到配置 -> 服务和端口设置 -> mysql -> 将 3306 更改为 3308 -> 保存保存保存!【参考方案9】:在我的情况下,这个问题是因为我的本地机器使用了之前在 3006 端口安装的一个 MySQL 服务。 因此我修改了 my.ini (C:\xampp\mysql\bin\my.ini) 和 php.ini (C:\xampp\php\php.ini ) 文件将端口 3006 替换为 3008
之后,我创建了一个运行 Tommer 上述命令的新服务:
sc.exe create "mysqlweb" binPath= "C:\xampp\mysql\bin\mysqld.exe --defaults-file=c:\xampp\mysql\bin\my.ini mysqlweb"
【讨论】:
【参考方案10】:你好,我遇到了同样的问题,我用tommer做了步骤,问题解决了,谢谢
注意:
你不必像这样做那样去做;
1)-- 在 c:\xampp\mysql\bin\ 中编辑“my.ini”文件将所有默认的 3306 端口条目更改为新值 3308
2)--在 c:\xampp\php 中编辑“php.ini”并将 3306 替换为 3308
3)--创建服务入口——在Windows命令行类型中
sc.exe create "mysqlweb" binPath= "C:\xampp\mysql\bin\mysqld.exe --defaults-file=c:\xampp\mysql\bin\my.ini mysqlweb"
4)--打开Windows服务并设置启动类型:自动,启动服务
【讨论】:
【参考方案11】:关于这个具体问题:
12:35:23 [mysql] Found Path: "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.5\my.ini" MySQL
12:35:23 [mysql] Expected Path: c:\xampp\mysql\bin\mysqld.exe --defaults-file=c:\xampp\mysql\bin\my.ini mysql
请注意,mysqld 末尾的第一行缺少 .exe。
要解决此问题,请启动 regedit.exe 并更改
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mysql
图像路径
通过添加 .exe 扩展名。
重启xampp控制面板,这个错误应该不会出现了。
【讨论】:
这是提示我找到适合我的解决方案的提示。在下面查看我的解决方案。【参考方案12】:这就是我解决我的问题的方法,使用上面的mircea 答案。
从上面的错误中,复制提到的预期路径。
启动 regedit.exe,进入 HKEY_LOCAL_MACHINE,然后是 SYSTEM,然后是 CurrentControlSet,然后是服务,然后是 MySQL。单击 ImagePath、编辑、修改。将从上面复制的预期路径粘贴到值数据字段中,按 OK,关闭 regedit。重启 Xampp。
这就是它对我的工作方式,因为我已经安装并运行了 MSSQL 服务器,并且不想取消它。
【讨论】:
以上是关于Apache - MySQL 服务检测到错误的路径。 / 已使用的端口的主要内容,如果未能解决你的问题,请参考以下文章
Apache 不会在 xampp 上启动:“Apache 服务检测到错误的路径”