只删 /usr/local/mysql 和 /Library/PreferencePanes/My* 远不够,必须根据安装方式(DMG/ Brew/MacPorts)精准清理:停服务后删 /usr/local/mysql、/usr/local/var/mysql、/usr/local/bin/mysql*、/Library/LaunchDaemons/homebrew.mxcl.mysql.plist、/tmp/mysql.sock 及环境变量中 MySQL 路径,否则重装必失败。

直接说结论:只删 /usr/local/mysql 和 /Library/PreferencePanes/My* 远不够,残留会卡死重装、导致 mysql --version 仍返回版本号、或新安装后服务起不来。
确认 MySQL 是怎么装的,再决定删什么
DMG 官方安装包、Homebrew、MacPorts 的卸载路径完全不同。如果你记不清安装方式,先查:
-
brew list | grep mysql—— 有输出说明是 brew 装的,得先brew uninstall mysql再清理 -
port installed | grep mysql—— 有输出说明是 MacPorts 装的,用sudo port uninstall mysql80 +universal类似命令 - 没以上输出,且
which mysql返回/usr/local/bin/mysql,基本就是 DMG 安装,走手动删目录路线
必须删除的 /usr/local 下核心路径
DMG 默认装在 /usr/local,但残留不止一个目录。以下命令需逐条执行(注意空格和斜杠方向):
-
sudo rm -rf /usr/local/mysql—— 主程序软链接,必删 -
sudo rm -rf /usr/local/var/mysql—— 数据库文件全在这里,删前务必备份ibdata1、ib_logfile*等 -
sudo rm -rf /usr/local/mysql*—— 清掉可能存在的mysql-8.0.33这类带版本号的原始目录 -
sudo rm /usr/local/bin/mysql*—— 删除所有mysql相关二进制软链接(mysqld、mysqladmin等)
漏掉 /usr/local/var/mysql 是重装后连不上 localhost 的最常见原因——新服务会拒绝覆盖旧数据目录。
别漏掉 ~/Library 和 /Library 里的隐藏配置
这些位置存着偏好设置、服务注册、启动项,不清理会导致系统偏好设置里 MySQL 图标还在,或开机自启失败报错:
-
rm -rf ~/Library/Preferences/com.oracle.oss.mysql.plist—— 用户级偏好,影响 Workbench 登录记忆 -
sudo rm -rf /Library/Preferences/com.oracle.oss.mysql.plist—— 全局偏好,影响系统级配置读取 -
sudo rm -rf /Library/StartupItems/MySQLCOM—— 旧式启动项,macOS 10.15+ 已弃用但残留会干扰 launchd -
sudo rm -rf /Library/LaunchDaemons/homebrew.mxcl.mysql.plist—— brew 安装留下的服务定义,即使已卸载也会让launchctl list显示异常 -
rm -f /tmp/mysql.sock /tmp/mysql.sock.lock—— socket 文件残留会导致新服务绑定端口失败,报错Can't start server: Bind on TCP/IP port
环境变量和 hostconfig 这两处最容易被忽略
哪怕所有文件都删光,只要 $PATH 里还留着旧路径,终端一敲 mysql 就会从缓存里调出旧二进制,让你误以为没卸干净:
- 检查
~/.zshrc、~/.bash_profile、/etc/zshrc,删掉含/usr/local/mysql/bin的export PATH=...行 - 运行
source ~/.zshrc && echo $PATH确认输出里没有 mysql 路径 - 检查
/etc/hostconfig(小概率存在),删掉MYSQLCOM=-YES-这行,否则某些脚本会误判服务状态 - 最后验证:
which mysql和mysql --version都应无输出;ls /usr/local/var/不再显示mysql目录
Workbench 本身不依赖 MySQL 服务进程,但它的连接配置、SQL 历史、插件缓存全存在 ~/Library/Application Support/MySQL/Workbench/,重装前建议一并清掉,否则可能复用旧 SSL 设置引发连接拒绝。


















