macOS通过Homebrew快速安装MySQL方法

江岸
江岸
发布时间:2026-09-22 | 5人浏览过
原创

在 macOS 上安装 MySQL,使用 Homebrew 通常只需要几条命令:确认 Homebrew 可用,选择需要的 MySQL 版本,执行 brew install,再通过 brew services 启动数据库服务。安装完成后,还需要验证服务状态,并根据实际用途设置 root 密码。

需要特别注意的是,brew install mysql 安装的是 Homebrew 当前维护的主版本,并不表示固定安装 MySQL 8.0 或 8.4。如果项目明确要求 MySQL 8.4,应直接安装 mysql@8.4,不要默认认为无版本号的 mysql 就是 8.x。

macOS通过Homebrew快速安装MySQL方法
图 1:通过 Homebrew 安装 MySQL 的实际操作顺序

一、先确认Homebrew是否已经安装

打开 macOS 的“终端”应用,或者使用 iTerm2 等终端工具,执行:

brew --version

如果已经安装 Homebrew,会看到版本信息。示例输出:

Homebrew 5.x.x

以上只是示例,实际版本以当前机器为准。

如果提示:

zsh: command not found: brew

说明当前终端找不到 Homebrew。可能是真的没有安装,也可能已经安装但没有把 Homebrew 加入环境变量。

没有Homebrew时先安装

Homebrew 官方支持的安装环境需要准备 Xcode Command Line Tools。可以先执行:

xcode-select --install

然后使用 Homebrew 官方安装脚本:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装过程中终端会显示即将执行的操作,并可能要求输入当前 macOS 用户密码。

Homebrew 在不同 Mac 上的默认目录不同:

Mac 类型 Homebrew 默认目录
Apple Silicon,例如 M1、M2、M3、M4、M5 /opt/homebrew
Intel Mac /usr/local

Homebrew 安装结束时通常会直接给出需要追加到 Shell 配置文件中的命令。应该优先执行安装程序实际显示的命令。

例如 Apple Silicon Mac 常见的是:

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

Intel Mac 对应的 Homebrew 通常位于 /usr/local:

echo 'eval "$(/usr/local/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/usr/local/bin/brew shellenv)"

配置后重新检查:

brew --version
brew --prefix
macOS通过Homebrew快速安装MySQL方法
图 2:Apple Silicon 与 Intel Mac 的 Homebrew 默认安装路径不同

二、安装前先决定使用哪个MySQL版本

如果只是本地学习、开发一个新项目,而且项目没有规定 MySQL 大版本,可以先查看 Homebrew 当前提供的版本:

brew info mysql

也可以搜索可用的 MySQL 配方:

brew search mysql

这里有一个容易产生误解的地方:无版本号的 mysql 代表 Homebrew 当前的主配方,会随着 Homebrew 更新而升级,并不是“永远等于 MySQL 8.0”。截至本文核对时,Homebrew 还单独提供 mysql@8.4 等版本化配方,而 mysql@8.0 已被 Homebrew 标记为 deprecated。

如果公司的项目、旧系统或开发环境明确要求 MySQL 8.4,就安装 mysql@8.4。如果没有指定版本,只希望安装 Homebrew 当前稳定主版本,可以使用 mysql。

下面分别介绍两种安装方式。

三、安装Homebrew当前主版本MySQL

希望直接使用 Homebrew 当前维护的 MySQL 主配方时,在终端执行:

brew install mysql

Homebrew 会自动处理 MySQL 需要的依赖。安装完成后,可以检查:

brew info mysql
mysql --version

如果 mysql --version 能正常显示版本号,说明 MySQL 命令行程序已经可以使用。

这里不建议在教程中把某个具体版本号写死作为验证依据,因为 brew install mysql 对应的稳定版本会继续变化。判断是否安装成功,应该看命令能否正常执行,以及 brew info mysql 显示的实际版本。

四、启动MySQL服务

安装程序和数据库服务是两回事。执行完 brew install mysql 后,还需要启动 MySQL Server:

brew services start mysql

brew services start 会立即启动 MySQL,并把它注册为当前用户登录后的后台服务。

查看服务状态:

brew services list

正常情况下,可以在 MySQL 对应的一行看到 started 状态。

示例:

Name   Status
mysql  started

实际输出还会包含用户和服务文件等信息,不同 Homebrew 版本的显示形式可能稍有区别。

几个常用的服务管理命令

# 启动,并注册为登录后自动启动
brew services start mysql

# 重启
brew services restart mysql

# 停止
brew services stop mysql

# 查看状态
brew services list

如果只想临时运行服务,而不希望注册为登录后自动启动,可以使用:

brew services run mysql

Homebrew 的 services 功能在 macOS 上通过系统的 launchctl 管理后台服务。一般的个人开发环境直接使用普通用户执行即可,没有必要为了启动 MySQL 给命令加 sudo。

macOS通过Homebrew快速安装MySQL方法
图 3:MySQL 软件安装、后台服务与客户端连接是三个不同环节

五、首次登录MySQL

Homebrew 当前 MySQL 配方的安装说明指出,新初始化的数据库允许本机使用 root 用户登录,并建议随后运行 mysql_secure_installation 完成安全配置。

服务启动以后,可以先执行:

mysql -u root

如果登录成功,会进入类似下面的 MySQL 命令行环境:

mysql>

此时可以查询实际运行的 MySQL 版本:

SELECT VERSION();

也可以查看数据库:

SHOW DATABASES;

退出 MySQL:

EXIT;

能完成这一步,说明 MySQL Server 已经真正启动,而且本地客户端能够连接。

再检查一次服务器是否存活

在还没有设置 root 密码时,也可以执行:

mysqladmin -u root ping

示例结果:

mysqld is alive

如果后面已经给 root 设置了密码,则改用:

mysqladmin -u root -p ping

终端会提示输入密码。

六、给root设置密码并进行基础安全配置

仅用于自己电脑上的临时测试环境,可以先完成登录验证再配置密码。但如果数据库会长期使用,建议运行 MySQL 自带的安全配置工具:

mysql_secure_installation

这个程序会通过交互方式完成安全设置,其中可能包括设置 root 密码、处理匿名账户、测试数据库以及远程 root 登录等项目。具体提示会随着 MySQL 版本变化,因此没有必要照抄某个旧教程中的每一行提示。

处理时可以遵循一个简单原则:

  • 为 root 设置一个自己能够妥善保存的密码;
  • 普通本地开发没有匿名账户需求时,可以移除匿名账户;
  • 没有远程 root 登录需求时,不开放 root 远程访问;
  • 测试数据库没有用途时可以删除。

设置密码以后再次登录,需要使用:

mysql -u root -p

看到:

Enter password:

后输入刚才设置的密码即可。终端输入密码时不会显示星号或字符,这是正常现象。

七、项目需要MySQL 8.4时怎么安装

如果项目明确要求 MySQL 8.4,不要执行普通的 brew install mysql,而是安装版本化配方:

brew install mysql@8.4

启动服务时,名称也要对应:

brew services start mysql@8.4

查看:

brew services list

版本化 Homebrew 配方通常属于 keg-only,也就是它不会像默认主版本那样自动链接到 Homebrew 的公共命令目录。因此安装以后直接运行:

mysql --version

有可能仍然提示找不到 mysql,或者调用到机器上另一套 MySQL 客户端。

这种情况下,可以把 MySQL 8.4 的 bin 目录加入当前用户的 PATH:

echo 'export PATH="$(brew --prefix mysql@8.4)/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

然后确认:

which mysql
mysql --version

也可以直接查看 Homebrew 为它分配的路径:

brew --prefix mysql@8.4
使用 mysql@8.4 时,安装、启动和停止命令都尽量保持版本名称一致,例如 brew services start mysql@8.4 和 brew services stop mysql@8.4,避免和无版本号的 mysql 配方混淆。

八、安装完成后做一次完整验证

如果安装的是普通的 mysql 配方,可以按下面的顺序检查:

# 1. 查看MySQL客户端版本
mysql --version

# 2. 查看Homebrew服务
brew services list

# 3. 测试数据库连接
mysql -u root

# 如果已经设置root密码
mysql -u root -p

进入 MySQL 后,可以建立一个临时数据库验证写入功能:

CREATE DATABASE brew_test CHARACTER SET utf8mb4;

SHOW DATABASES;

DROP DATABASE brew_test;

这里的 brew_test 只是用于验证的临时数据库。能够成功创建、查看并删除,说明本地 MySQL 的基本读写功能正常。

九、常见问题处理

1. brew命令找不到

先检查两个常见路径:

ls /opt/homebrew/bin/brew
ls /usr/local/bin/brew

Apple Silicon Mac 通常使用 /opt/homebrew,Intel Mac 通常使用 /usr/local。如果文件存在,问题多半是 Shell 环境变量没有加载。

还可以检查:

arch
command -v brew
brew --prefix

Apple Silicon 原生终端一般应看到 arm64,并使用 /opt/homebrew 下的 Homebrew。如果一台 Apple Silicon Mac 同时存在 /usr/local 和 /opt/homebrew 两套 Homebrew,需要确认当前终端到底调用的是哪一套。

2. mysql命令找不到

先确认到底安装了哪个配方:

brew list --formula | grep mysql

如果显示的是:

mysql@8.4

那么通常需要按照前面的方式把它的 bin 目录加入 PATH:

echo 'export PATH="$(brew --prefix mysql@8.4)/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

3. 提示Can't connect to local MySQL server

这类错误最常见的原因不是客户端没有安装,而是 MySQL Server 没有运行。先检查:

brew services list

如果 MySQL 没有处于 started 状态,启动它:

brew services start mysql

或者重启:

brew services restart mysql

再尝试:

mysql -u root

如果安装的是 8.4,要把服务名称换成:

brew services restart mysql@8.4

4. MySQL服务启动后马上停止

先查看 Homebrew 服务状态:

brew services list

然后查看配方本身给出的提示:

brew info mysql

Homebrew 的 MySQL 配方特别提示:系统中遗留的 /etc/my.cnf 或 /etc/mysql/my.cnf 可能干扰 Homebrew 安装的 MySQL 启动。

可以先检查是否存在这些配置:

ls -l /etc/my.cnf
ls -l /etc/mysql/my.cnf

不要看到文件就直接删除。旧配置中可能保存端口、字符集、数据目录等重要设置,应该先查看内容,确认它是不是以前安装 MySQL、MariaDB 或其他数据库时遗留的配置。

5. 机器上以前装过MariaDB或Percona Server

Homebrew 的 MySQL 配方与 MariaDB、Percona Server 会安装部分同名程序,因此存在冲突。可以先确认当前环境:

brew list --formula | grep -E 'mysql|mariadb|percona'
brew services list

如果机器原本存在重要数据库,不要为了安装 MySQL 直接卸载其他数据库,更不要直接删除数据目录。先确认旧数据库的数据位置并做好备份,然后再决定迁移、停用还是保留。

6. 从很旧的MySQL直接升级到当前主版本

这和全新安装不是同一个问题。如果机器中原本存在 MySQL 数据,尤其是旧于 MySQL 8.4 的版本,不应该简单执行 brew upgrade 后直接尝试使用新版本打开原数据目录。

Homebrew 当前 MySQL 配方明确提示,从 MySQL 8.4 之前的版本升级到 9.0 之后的版本,需要先经过 MySQL 8.4。对于包含真实业务数据的环境,还应在升级前完成数据库备份,并根据对应 MySQL 版本的官方升级说明检查兼容性。

全新安装可以直接选择目标版本;已有数据库的“升级”涉及数据文件兼容性,不能按照全新安装教程直接覆盖处理。

十、MySQL安装到哪里了

使用 Homebrew 时,不建议把所有路径写死成 /usr/local 或 /opt/homebrew。最方便的办法是让 Homebrew 自己返回当前前缀:

brew --prefix

查看 MySQL 配方目录:

brew --prefix mysql

普通 Homebrew MySQL 的数据库数据通常位于 Homebrew 前缀下面的 var/mysql。可以这样查看:

ls "$(brew --prefix)/var/mysql"

这条命令比把路径直接写成 /opt/homebrew/var/mysql 更适合同时兼容 Apple Silicon 和 Intel Mac。

数据目录和 MySQL 软件本身并不是一回事。以后执行 brew uninstall mysql 时,也不要因为想“卸载干净”就顺手删除 var/mysql。其中可能保存着实际数据库文件。

十一、如果以后需要停止或卸载MySQL

停止普通 MySQL 服务:

brew services stop mysql

卸载:

brew uninstall mysql

如果安装的是 MySQL 8.4:

brew services stop mysql@8.4
brew uninstall mysql@8.4

在删除任何数据目录之前,先检查:

ls "$(brew --prefix)/var/mysql"

只要里面存在需要保留的数据库,就应该先通过 mysqldump 等方式备份,而不是直接删除目录。

macOS通过Homebrew快速安装MySQL方法
图 4:Homebrew 安装 MySQL 后的完整检查清单

十二、最简安装命令整理

如果 Homebrew 已经配置完成,并且希望安装 Homebrew 当前维护的 MySQL 主版本,整个过程可以压缩为:

brew update
brew install mysql
brew services start mysql
mysql --version
brew services list
mysql -u root

确认能够登录以后,再运行:

mysql_secure_installation

以后登录:

mysql -u root -p

如果项目要求 MySQL 8.4,则对应命令为:

brew install mysql@8.4
brew services start mysql@8.4

echo 'export PATH="$(brew --prefix mysql@8.4)/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

mysql --version
mysql -u root

因此,macOS 通过 Homebrew 安装 MySQL 真正需要注意的并不是 brew install 这一条命令本身,而是安装之前确定版本、安装之后启动服务,并确认客户端实际连接到了刚安装的 MySQL。把这几个环节分开检查,绝大多数安装问题都能很快定位。

本文涉及的 Homebrew 安装目录、brew services 行为、MySQL 配方名称、版本化配方以及 mysql_secure_installation 用途,依据本文编写时的 Homebrew 官方文档、Homebrew Formulae 和 MySQL 官方参考手册核对。Homebrew 的可用 MySQL 版本会随时间变化,实际安装前可使用 brew info mysql、brew info mysql@8.4 和 brew search mysql 查看当前状态。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表