Windows下切换多版本XAMPP时出现MySQL服务路径错误无法启动的问题求助
Windows下切换多版本XAMPP时出现MySQL服务路径错误无法启动的问题求助
嘿,我来帮你捋捋这个问题——核心原因是MySQL服务被注册成Windows系统服务了,它的路径是固定死的,不是随XAMPP控制面板关闭就自动更新的。你之前启动v80的时候,MySQL已经被注册到系统服务里,就算关掉XAMPP面板,这个服务的配置依然指向v80的路径,所以启动v70时就会出现路径不匹配的错误。
给你几个实用的解决办法,按顺序试试:
第一步:先卸载当前残留的MySQL系统服务
以管理员身份打开命令提示符(CMD),依次执行以下命令:- 进入v80的MySQL bin目录:
cd C:\xamppv80\mysql\bin - 卸载系统服务:
mysqld --remove mysql
完成后再打开v70的XAMPP控制面板,尝试启动MySQL,这时候它会自动注册自己路径下的服务,应该就能正常启动了。
- 进入v80的MySQL bin目录:
第二步:养成切换版本前的操作习惯
以后每次要切换XAMPP版本时,记得先做这两步:- 在当前运行的XAMPP控制面板里,彻底停止MySQL服务(确保状态是Stopped)
- 按上面的方法,进入当前版本的MySQL bin目录,执行卸载服务的命令
之后再打开目标版本的XAMPP,启动服务就不会有冲突了。
第三步:修改配置,让MySQL不自动注册系统服务(一劳永逸)
如果你不想每次都手动折腾,可以让MySQL以临时进程的方式运行,不注册成系统服务:- 打开对应XAMPP目录下的
mysql\bin\my.ini文件 - 在
[mysqld]区块末尾添加一行:service-install-manual
或者更简单的方式:打开XAMPP控制面板,找到MySQL模块,点击旁边的Service按钮,选择Remove,直接把已有的系统服务卸载掉。之后每次启动MySQL都是临时进程,不会绑定固定路径,切换版本就再也不会出问题了。
- 打开对应XAMPP目录下的
另外提醒下,你之前改的是Apache的注册表路径,但这次的问题根源在MySQL服务,所以改Apache的配置根本没用,得针对MySQL来操作哦。还有个小细节:切换前可以打开任务管理器,看看有没有mysqld.exe进程在后台运行,如果有的话直接结束掉,避免残留进程搞事情。
备注:内容来源于stack exchange,提问作者KIKonstantin




