ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

macOS 安装 MySQL 完整教程

macOS 安装 MySQL 完整教程

macOS 安装 MySQL 完整教程(Homebrew)

本文记录在 macOS 上用 Homebrew 安装 MySQL 的完整过程,包含国内网络下载失败的解决方法,以及安装后如何启动服务、设置密码。

本机环境:macOS 26.3.1,Homebrew 6.0.12,最终安装版本 MySQL 9.7.1。


一、前置检查

先确认本机是否已安装 MySQL,避免重复安装。

# 检查命令是否存在(为空说明 PATH 里没有)whichmysql mysqld mysql.server# 检查 Homebrew 是否已安装brew list|grep-i-E'mysql|mariadb'# 检查 3306 端口有没有服务在监听lsof-nP-iTCP:3306-sTCP:LISTEN

确认 Homebrew 本身可用:

whichbrew&&brew--version

二、安装 MySQL

基本命令

brewinstallmysql

⚠️ 国内网络常见问题:下载中断

Homebrew 默认从 GitHub 的容器仓库ghcr.io下载预编译包(bottle)。国内访问这个地址经常不稳定,会出现下载到一半断开的错误:

✘ Bottle mysql (9.7.1) Error: Failed to download resource "mysql" curl: (18) Transferred a partial file

即使反复重试、开启自动重试,也可能一直卡在同一个大文件上。

✅ 解决方法:使用国内镜像源

设置HOMEBREW_BOTTLE_DOMAIN环境变量,把下载源切换到国内镜像(这里用中科大 USTC),绕开不稳定的ghcr.io:

# 只对当前这次安装生效,不会永久改动系统配置exportHOMEBREW_NO_AUTO_UPDATE=1# 跳过自动更新,减少出错点exportHOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles# 切换镜像源exportHOMEBREW_CURL_RETRIES=8# 下载失败自动重试brewinstallmysql

其他可选镜像源:

镜像BOTTLE_DOMAIN 地址
中科大 USTChttps://mirrors.ustc.edu.cn/homebrew-bottles
清华 TUNAhttps://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles
阿里云https://mirrors.aliyun.com/homebrew/homebrew-bottles

💡 提示:如果之前下载失败留下了不完整的缓存文件,重新用镜像源安装时会自动覆盖重下,一般不需要手动清理。

看到类似下面的输出就是装好了:

🍺 /usr/local/Cellar/mysql/9.7.1: 344 files, 304.2MB

三、启动服务

安装完成后,MySQL 服务默认不会自动启动,需要手动启动。

# 启动 MySQL,并设置为开机自启brew services start mysql

其他常用服务命令:

brew services stop mysql# 停止服务brew services restart mysql# 重启服务brew services list# 查看所有服务状态

验证是否启动成功

# 查看服务状态(应显示 started)brew services list|grepmysql# 查看 3306 端口是否在监听lsof-nP-iTCP:3306-sTCP:LISTEN# 测试连接并查看版本mysql-uroot-e"SELECT VERSION();"

正常的话会看到端口127.0.0.1:3306 (LISTEN),以及版本号9.7.1。


四、账号与密码

默认账号

Homebrew 安装的 MySQL默认没有 root 密码:

项目值
用户名root
密码空(无密码)
允许连接的主机仅localhost/ 127.0.0.1

直接连接(回车即可,无需输密码):

mysql-uroot

方式一:一键安全加固(推荐)

官方脚本会引导你设置 root 密码、移除匿名用户、禁止 root 远程登录、删除测试库:

mysql_secure_installation

按提示操作:

  • Would you like to setup VALIDATE PASSWORD component?— 是否启用密码强度校验,个人开发可输n
  • New password:— 输入你的新 root 密码
  • 后续几个移除匿名用户 / 测试库的问题,一般都输y

方式二:手动设置 root 密码

先用无密码方式登录:

mysql-uroot

在 MySQL 命令行里执行(把你的新密码换成实际密码):

ALTERUSER'root'@'localhost'IDENTIFIEDBY'你的新密码';FLUSHPRIVILEGES;EXIT;

设置密码后如何连接

# 会提示你输入密码mysql-uroot-p

⚠️ 安全提示:-p你的密码这种把密码直接写在命令里的方式虽然可行,但密码会留在 shell 历史记录里,不推荐。用-p后交互式输入更安全。


五、创建数据库和普通用户(可选)

生产或项目中不建议直接用 root,最好为每个应用建独立用户:

-- 创建数据库CREATEDATABASEmyappCHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ci;-- 创建用户并授权(仅本地访问)CREATEUSER'appuser'@'localhost'IDENTIFIEDBY'应用密码';GRANTALLPRIVILEGESONmyapp.*TO'appuser'@'localhost';FLUSHPRIVILEGES;

六、常用命令速查

操作命令
启动服务brew services start mysql
停止服务brew services stop mysql
重启服务brew services restart mysql
查看状态brew services list
连接(无密码)mysql -u root
连接(有密码)mysql -u root -p
查看版本mysql -u root -e "SELECT VERSION();"
查看所有数据库mysql -u root -e "SHOW DATABASES;"
安全加固mysql_secure_installation

七、卸载(如需要)

brew services stop mysql# 先停服务brew uninstall mysql# 卸载rm-rf/usr/local/var/mysql# 删除数据目录(⚠️ 会清空所有数据库数据,谨慎操作)
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进