下面是“Windows下MySQL服务无法停止和删除的解决办法”的完整攻略:
问题描述
在 Windows 系统下,有时候 MySQL 服务会出现不能正常停止和删除的情况。在 Windows 服务管理器中手动停止 MySQL 服务时,服务状态会显示 “停止中”,但是就一直不会停止。同样的,删除 MySQL 服务也会卡在 “正在删除” 的状态。
原因分析
在 Windows 系统中,MySQL 服务的启动和停止往往需要依赖于另外两个服务:MySQL57 和 MySQL57Agent。如果这两个服务的状态不正常,就会导致 MySQL 服务无法正常停止和删除。另外,在 MySQL 服务启动时,MySQL 会在本地生成一个 PID 文件(一般为 .pid 格式),如果这个文件没有被正确删除,也会导致 MySQL 服务无法正常停止和删除。
解决办法
下面分两种情况分别介绍如何解决 MySQL 服务无法停止和删除的问题。
情况一:PID 文件未被正确删除
如果你在停止 MySQL 服务时,服务状态一直显示停止中,那么有可能是由于 MySQL 在本地生成的一个 pid 文件未被正确删除,导致 MySQL 一直无法正常停止。解决这个问题的办法就是手动删除这个 pid 文件。具体的步骤如下:
- 打开命令行窗口(Win+R,输入cmd.exe,点击“确定”)。
- 进入MySQL bin文件夹,例如:
cd C:\Program Files\MySQL\MySQL Server 5.7\bin
。 - 执行以下命令,查看 MySQL 的 PID 文件名:
type C:\ProgramData\MySQL\MySQL Server 5.7\data\MYSQLCOMPUTERNAME.pid
,注意把MYSQLCOMPUTERNAME
替换为你的计算机名称。 - 执行以下命令,删除 PID 文件:
del C:\ProgramData\MySQL\MySQL Server 5.7\data\MYSQLCOMPUTERNAME.pid
。
情况二:MySQL57 和 MySQL57Agent 服务状态不正常
如果你在删除 MySQL 服务时,服务状态一直显示正在删除,那么有可能是由于 MySQL57 和 MySQL57Agent 两个服务状态不正常,导致 MySQL 服务无法正常删除。解决这个问题的办法就是手动停止这两个服务,然后重新尝试删除 MySQL 服务。具体的步骤如下:
- 打开任务管理器,杀掉 MySQL57 和 MySQL57Agent 服务对应的进程。
- 打开命令行窗口(Win+R,输入cmd.exe,点击“确定”)。
- 执行以下命令,停止 MySQL57 服务:
net stop MySQL57
。 - 执行以下命令,停止 MySQL57Agent 服务:
net stop MySQL57Agent
。 - 打开 Windows 服务管理器(Win+R,输入services.msc,点击“确定”)。
- 右键点击 MySQL57 服务,选择“停止”。
- 右键点击 MySQL57Agent 服务,选择“停止”。
- 右键点击 MySQL57 服务,选择“删除”。
- 确认删除 MySQL57 服务。
- 右键点击 MySQL57Agent 服务,选择“删除”。
- 确认删除 MySQL57Agent 服务。
以上就是“Windows下 MySQL 服务无法停止和删除的解决办法”的完整攻略。如果按照上述步骤仍然无法解决问题,可以尝试重启计算机后再次执行步骤。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Windows下MySQL服务无法停止和删除的解决办法 - Python技术站