必须手动删注册表和C:\ProgramData\MySQL,否则重装必报错;根源在于控制面板卸载不清理这两处,导致服务冲突、端口占用、初始化失败,sc delete常因服务名不符或注册表残留而失效,彻底卸载需满足四条件:sc query无mysql、netstat无3306占用、C:\ProgramData\MySQL不存在、注册表两处MySQL AB键值清空。

必须手动删注册表 + C:\ProgramData\MySQL,否则重装必报错。 Windows下MySQL卸载后90%的“服务已存在”“端口被占”“初始化失败”,根源都在这两处没清干净——控制面板卸载只动了程序目录,对注册表和C:\ProgramData这个隐藏系统目录完全无感。
为什么sc delete MySQL80经常失效?
因为服务名可能不是MySQL80,或注册表里残留了服务定义,导致sc命令找不到真实句柄。常见现象是执行sc delete MySQL80后提示[SC] DeleteService FAILED 1072(服务已标记为删除)或直接无响应。
- 先用
sc queryex | findstr "mysql"确认真实服务名(如MySQL57、mysqld、甚至MySql小写) - 若
sc delete仍失败,说明注册表中HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\下该服务项还在,需手动删 - 删注册表前务必导出备份:右键对应服务名 → “导出” → 保存为.reg文件
C:\ProgramData\MySQL是最大残留源
这个目录默认隐藏,且不随控制面板卸载而删除,里面藏着my.ini、Data数据文件夹、错误日志、二进制日志——重装时MySQL会优先读它,导致新配置不生效、root密码还是旧的、甚至直接拒绝启动。
在 Windows 11 上"直接发声"的 TTS(从 WSL2/TUI 调用 powershell.exe + System.Speech)。适用于用户说"说出来/读出来/语音播报/用TTS",或反馈"没声音/tts 生成的 mp3 是空的/播不出来",以及需要中文语音但 OpenClaw 内置 tts 不可用时。
- 在文件资源管理器地址栏直接粘贴
C:\ProgramData\MySQL回车(不用打开“查看→显示隐藏项目”) - 若提示“访问被拒绝”,右键该文件夹 → “属性” → “安全” → 编辑当前用户权限,勾选“完全控制”
- 删除整个
MySQL文件夹,不要只删Server 8.0子目录——不同版本可能共存于同一父目录下
注册表清理必须覆盖两个位置
MySQL在注册表里埋了两处关键节点,漏删任意一个,下次安装时MSI向导就会检测到“已有实例”,强行跳过关键步骤或报错退出。
-
HKEY_LOCAL_MACHINE\SOFTWARE\MySQL AB:32位系统主路径,含服务路径、版本号等元信息 -
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MySQL AB:64位系统专用路径,即使你装的是64位MySQL也得清这里 - 删除前先确认键值下没有其他非MySQL程序共用该路径(极少见,但存在)
真正麻烦的从来不是“怎么删”,而是删到哪一步才算完——sc query mysql返回空、netstat -ano | findstr :3306无输出、C:\ProgramData\MySQL不存在、注册表两处MySQL AB键值消失,这四条全部满足,才叫“可重装”。中间漏掉任何一条,新装的MySQL大概率会在初始化阶段卡死或静默失败。

















