直接执行brew install mysql@5.7报错,因homebrew自2024年8月1日起禁用该版本,错误提示明确为“mysql@5.7 has been disabled because it is not supported upstream!”;需设置homebrew_no_install_from_api=1、强制同步本地仓库、编辑formula注释禁用行,并同步处理依赖openssl@1.1的禁用,方可成功安装。

不能直接 brew install mysql@5.7 —— 这个命令在 2024 年 8 月 1 日后已失效,必须绕过 Homebrew 的禁用机制才能安装。
为什么 brew install mysql@5.7 直接报错?
Homebrew 官方已于 2024 年 8 月 1 日将 mysql@5.7 标记为 disabled,错误信息明确显示:
Error: mysql@5.7 has been disabled because it is not supported upstream! It was disabled on 2024-08-01.
这不是网络或权限问题,而是 Homebrew 主动拒绝从远程 API 获取该 formula。即使你用的是 M1/M2 或 Intel Mac,只要 Homebrew 版本 ≥ 4.0.0(2024 年中之后的版本),都会触发此限制。
绕过禁用:四步强制安装 mysql@5.7
核心思路是让 Homebrew 忽略远程 API,改用本地 formula,并手动解除禁用标记。
- 设置环境变量,跳过 API 检查:
export HOMEBREW_NO_INSTALL_FROM_API=1 - 强制同步本地 formula 仓库:
brew tap --force homebrew/core - 编辑 formula 文件,注释掉禁用行:
brew edit mysql@5.7→ 找到并注释这行:# disable! date: "2024-08-01", because: :unsupported - 同时处理依赖链中的另一个被禁用项:
openssl@1.1(MySQL 5.7 强依赖它)→ 同样执行brew edit openssl@1.1并注释其禁用行
完成后运行:HOMEBREW_NO_INSTALL_FROM_API=1 brew install mysql@5.7。注意:必须带前缀环境变量,否则仍会失败。
mysql@5.7 安装后必须做的三件事
Homebrew 不会自动创建符号链接,也不会帮你设 PATH,不手动处理就无法在终端直接调用 mysql 命令。
- 把
mysql@5.7的 bin 加入 PATH:echo 'export PATH="/opt/homebrew/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc(M 系列芯片路径;Intel 用户路径为/usr/local/opt/mysql@5.7/bin) - 启动服务时必须指定完整服务名:
brew services start mysql@5.7,而不是brew services start mysql(后者会启动 8.0) - 首次连接需用
mysql -u root(无密码),然后立刻运行mysql_secure_installation设置密码——否则后续所有客户端(如 DBeaver、Sequel Ace)都无法认证
多版本共存时端口与配置容易撞车
如果你还装了 mysql(即 8.0)或 mysql@8.0,默认都试图监听 3306,必然冲突。必须为 mysql@5.7 单独配端口和 socket:
- 创建独立配置文件,例如
/opt/homebrew/etc/my57.cnf - 在其中明确指定:
port = 3307、socket = /opt/homebrew/var/run/mysqld57.sock、datadir = /opt/homebrew/var/mysql_57 - 启动时绑定配置:
brew services start mysql@5.7 --config=/opt/homebrew/etc/my57.cnf
没做这一步,brew services start mysql@5.7 可能静默失败,或者连上的是 8.0 实例——这是最隐蔽也最常被忽略的问题。











