brew install mysql@8.0 是最稳妥安装命令,但需先确认 homebrew 路径正确、已更新仓库;安装后须手动配置 path、运行 mysql_secure_installation 切换认证插件并设密,再用 brew services start mysql@8.0 启动。

brew install mysql@8.0 是当前最稳妥、可复现的安装命令,但直接执行它之前,有几个关键点必须确认,否则大概率卡在启动失败或命令未找到。
确认 Homebrew 已就绪且路径正确
Homebrew 不只是“装了就行”,它的前缀路径直接影响后续所有操作:
- Apple Silicon(M 系列芯片)默认前缀是
/opt/homebrew;Intel 芯片通常是/usr/local。用brew --prefix看一眼,别凭经验猜 - 如果
brew --version报错,说明没装好或 shell 配置没生效——检查是否漏了source ~/.zshrc(macOS 15.6+ 默认 zsh) -
brew update建议先跑一次,避免因仓库过期导致mysql@8.0找不到或装成旧版
执行 brew install mysql@8.0 后必须做的事
安装成功不等于能用。Homebrew 安装的 mysql@8.0 是“版本锁定”的 formula,它不会自动写入 PATH,也不会自动注册服务。
- 手动补环境变量:在
~/.zshrc里加一行export PATH="/opt/homebrew/opt/mysql@8.0/bin:$PATH"(M 芯片)或/usr/local/opt/mysql@8.0/bin(Intel) - 运行
source ~/.zshrc生效,再敲mysql --version,输出带8.0.x才算真正可用 - 不要跳过
mysql_secure_installation——新装的mysql@8.0默认 root 密码为空,但 8.0 默认启用auth_socket插件,空密码会直接拒绝登录,这个脚本会帮你切回mysql_native_password并设密
brew services start mysql@8.0 启动失败常见原因
执行后提示 Error: Permission denied 或 Could not find mysql@8.0,基本就这三类问题:
- 服务名写错:
brew services start mysql启的是最新版(可能是 8.4),不是mysql@8.0;必须严格匹配 formula 名 - 配置文件冲突:如果之前装过其他版本(比如
mysql或mysql@5.7),它们的 socket 文件、pid 文件可能残留,导致端口或路径被占;建议先brew services stop mysql再清理/opt/homebrew/var/mysql/下旧数据目录(备份好再删) - 权限问题:Homebrew 服务默认以当前用户运行,但
/opt/homebrew/var/mysql/目录属主可能被意外改成root;用ls -l /opt/homebrew/var/检查,不对就sudo chown -R $(whoami) /opt/homebrew/var/mysql
验证连接时 mysql -u root -p 报错 Access denied
这不是密码错了,而是认证插件没切对。8.0 的 root 默认用的是 auth_socket,只认 Unix socket,不认密码。
- 先用
mysql -S /opt/homebrew/var/mysql/mysql.sock -u root(无密码)连进去 - 执行:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password'; - 再
FLUSH PRIVILEGES; - 退出重试
mysql -u root -p
这一步绕不开,很多教程省略它,结果卡死在“明明设了密码却登不进”。











