2026最新!Mac安载MySQL 8.0 保姆级教程

一、为什么我要写这篇?

最近我在 Mac(Apple Silicon / macOS 15)上用 Homebrew 装 MySQL 时,发现默认已经变成 MySQL 9.5​ 了:

复制代码
mysql --version
# mysql  Ver 9.5.0 for macos15.7 on arm64 (Homebrew)

但在实际开发中,很多项目仍然依赖 MySQL 8.0,服务器环境也大多是 8.0。

我不想卸载 MySQL 9,只想再装一个 MySQL 8.0 备用

折腾了一圈,终于走通了一条不冲突、不乱环境、可长期维护的方案,记录下来,希望能帮到你。


二、环境说明

  • macOS 15.x(Sequoia)

  • Apple Silicon(M 系列芯片)

  • Homebrew(arm64)

  • 已有 MySQL 9.x(可存在,可不删)

目标:

安装 MySQL 8.0

不影响已有的 MySQL 9

能随时切换使用哪个版本


三、直接安装 MySQL 8.0

Homebrew 提供了 MySQL 8.0 的专用 formula:mysql@8.0

在终端执行:

复制代码
brew install mysql@8.0

安装完成后,你会看到一段非常重要的提示(很多人会忽略):

复制代码
mysql@8.0 is keg-only, which means it was not symlinked into /opt/homebrew
because this is an alternate version of another formula.

这句话的意思是:

MySQL 8.0 被标记为「备用版本」,不会覆盖系统默认的 mysql 命令

这正是我们想要的效果。


四、启动 MySQL 8.0 服务

即使你没有卸载 MySQL 9,也可以单独启动 MySQL 8.0:

复制代码
brew services start mysql@8.0

查看服务状态:

复制代码
brew services list

你会看到类似:

复制代码
mysql@8.0  started  homebrew.mxcl.mysql@8.0

说明 MySQL 8.0 已经在后台运行,端口默认仍是 3306(除非你手动改过)。


五、为什么 mysql命令还是找不到?

这时候如果你直接敲:

复制代码
mysql --version

大概率会看到:

复制代码
zsh: command not found: mysql

原因很简单:

Homebrew 没有把 mysql@8.0 加入 PATH

需要手动加。


六、配置环境变量(关键步骤)

编辑 ~/.zshrc

复制代码
nano ~/.zshrc

在文件末尾加入:

复制代码
export PATH="/opt/homebrew/opt/mysql@8.0/bin:$PATH"

保存后执行:

复制代码
source ~/.zshrc

验证:

复制代码
which mysql
# /opt/homebrew/opt/mysql@8.0/bin/mysql

mysql --version
# mysql  Ver 8.0.x for macos15.x on arm64 (Homebrew)

到这里,MySQL 8.0 已经可以在终端中正常使用了。


七、安全初始化(设置 root 密码)

首次使用前,建议运行安全配置脚本:

复制代码
mysql_secure_installation

常见选项建议:

提示 建议
启用密码校验组件 y
密码策略 0(LOW,长度 ≥ 8)
设置 root 密码 自己记住的强密码
移除匿名用户 y
禁止 root 远程登录 y
删除 test 库 y
重载权限表 y

完成后,就可以用 root 登录了:

复制代码
mysql -u root -p

八、如何在不卸载的情况下切换 MySQL 版本?

如果你以后想切回 MySQL 9,只需要调整 PATH 顺序即可。

切换到 MySQL 9(默认)
复制代码
export PATH="/opt/homebrew/bin:$PATH"
切换回 MySQL 8.0
复制代码
export PATH="/opt/homebrew/opt/mysql@8.0/bin:$PATH"
相关推荐
库奇噜啦呼3 小时前
【iOS】NSOperation与NSOperationQueue
macos·ios·cocoa
Oo大司命oO5 小时前
藏在正则表达式里的陷阱
数据库·mysql·正则表达式
_oP_i6 小时前
mysql统计数据库使用存储大小
数据库
会编程的土豆6 小时前
MySQL 入门:库、表、行、主键是什么
linux·数据库·网络协议·http
jjjava2.06 小时前
系统日志:从入门到精通的完整指南
网络·数据库
写代码的强哥6 小时前
云原生数据库与传统数据库相比“新”在哪里
数据库·云原生·架构
吴声子夜歌7 小时前
MongoDB 4.2——查询
数据库·mongodb
三十岁老牛再出发8 小时前
07.26每日总结
linux·c语言·mysql
xieliyu.9 小时前
MySQL 存储过程详解:概念、创建与删除全教程
开发语言·数据库·mysql