【Homebrew安装 MySQL 】macOS 用 Homebrew 安装 MySQL 完整教程 - 实践


前言

若对您有帮助的话,请点赞收藏加关注哦,您的关注是我持续创作的动力!有问题请私信或联系邮箱:funian.gm@gmail.com

1. 教程前提与适用环境

  • 适用系统:macOS(本文以 macOS 15.4 + Apple Silicon 芯片为例,Intel 芯片操作一致,仅路径略有差异)
  • 核心工具:Homebrew(macOS 包管理器,需提前安装)
  • MySQL 版本:本文安装最新稳定版(日志中为 9.4.0_3,Homebrew 会自动拉取最新版)
  • 解决痛点:避免官方安装包的路径配置麻烦,Homebrew 自动处理依赖、环境变量,新手友好

2. 步骤1:检查 Homebrew 与 MySQL 是否已安装

首先确认系统中是否有 Homebrew,以及是否已安装过 MySQL(避免重复安装冲突)。

2.1 检查 Homebrew 是否安装

打开「终端」(Launchpad → 其他 → 终端),执行以下命令:

brew --version
预期结果:
  • 若显示类似 Homebrew 4.6.10 则说明 Homebrew 已安装(如本文日志);
  • 若提示 command not found: brew,需先安装 Homebrew,执行:
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    按提示输入系统密码,等待安装完成。
    在这里插入图片描述

2.2 检查是否已安装 MySQL

执行命令排查是否有旧版 MySQL:

brew list | grep mysql
预期结果:
  • 若终端无输出,说明未安装 MySQL(如本文日志),可继续下一步;
  • 若输出 mysqlmysql@xx,说明已安装,需先卸载(执行 brew uninstall mysql),避免冲突。

在这里插入图片描述

3. 步骤2:通过 Homebrew 安装 MySQL(含下载错误解决)

Homebrew 会自动下载 MySQL 及依赖(如 abseil、icu4c 等),无需手动处理。

3.1 执行安装命令

终端输入:

brew install mysql
可能遇到的问题:下载失败(如本文日志)

本文首次安装时出现 curl: (92) HTTP/2 stream 1 was not closed cleanly: PROTOCOL_ERROR (err 1),属于网络波动导致的下载中断。

解决方案:
  • 直接重新执行 brew install mysql(Homebrew 会自动续传已下载的依赖,无需从头下载);
  • 若多次失败,可先清理缓存再重试:
    brew cleanup  # 清理旧缓存(本文日志中安装后自动执行)
    brew install mysql

在这里插入图片描述

3.2 安装成功的标志

终端最终显示类似以下内容,代表安装完成:

==> Summary
  /opt/homebrew/Cellar/mysql/9.4.0_3: 336 files, 293.5MB
==> Caveats
Upgrading from MySQL <8.4 to MySQL >9.0 requires running MySQL 8.4 first:
  ...
  We've installed your MySQL database without a root password. To secure it run:
  mysql_secure_installation
  ...
  To connect run:
  mysql -u root
  • 关键信息:无 root 密码(首次登录无需密码)、mysql_secure_installation(后续安全配置命令)。

在这里插入图片描述

4. 步骤3:启动 MySQL 服务并检查状态

MySQL 安装后不会自动启动,需手动启动服务(支持后台自启)。

4.1 启动 MySQL 服务

执行命令:

brew services start mysql
启动成功标志:

终端显示:

==> Successfully started `mysql` (label: homebrew.mxcl.mysql)

在这里插入图片描述

4.2 检查服务状态

确认服务是否正常运行,执行:

brew services list
预期结果:

终端显示 mysql 一行的 statusstarted,如下:

Name    Status  User       File
mysql   started funian     ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
  • 若 status 为 error,可尝试重启服务:brew services restart mysql

在这里插入图片描述

5. 步骤4:验证 MySQL 安装与登录测试

安装并启动服务后,验证 MySQL 是否可用,以及能否正常登录。

5.1 验证 MySQL 版本

执行命令查看安装的版本:

mysql --version
预期结果:

显示类似以下版本信息(本文日志结果):

mysql  Ver 9.4.0 for macos15.4 on arm64 (Homebrew)

在这里插入图片描述

5.2 首次登录 MySQL(无密码)

Homebrew 安装的 MySQL 默认无 root 密码,直接登录:

mysql -u root
登录成功标志:

终端进入 mysql> 命令行模式,显示:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 9.4.0 Homebrew
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
  • 退出 MySQL 命令行:输入 exit; 并回车。

6. 步骤5:MySQL 安全配置(必做)

首次安装后无密码,存在安全风险,需通过官方工具 mysql_secure_installation 配置安全选项。

6.1 执行安全配置命令

在终端(非 MySQL 命令行)执行:

mysql_secure_installation

6.2 逐步配置安全选项

按终端提示依次选择,建议全部选 Y(安全最佳实践):

  1. 设置 root 密码

    • 提示 Would you like to setup VALIDATE PASSWORD component? → 输入 Y(密码强度验证);
    • 选择密码强度等级(0=低,1=中,2=高)→ 建议输入 1
    • 输入新密码(如 MySql123!,需符合强度要求)→ 确认密码;
    • 提示 Change the root password? → 输入 Y
  2. 删除匿名用户

    • 提示 Remove anonymous users? → 输入 Y(避免匿名登录漏洞)。
  3. 禁止 root 远程登录

    • 提示 Disallow root login remotely? → 输入 Y(仅允许本地登录,提升安全性)。
  4. 删除 test 数据库

    • 提示 Remove test database and access to it? → 输入 Y(test 库无实际用途,删除避免风险)。
  5. 刷新权限

    • 提示 Reload privilege tables now? → 输入 Y(使配置立即生效)。
配置成功标志:

终端显示 All done!,代表安全配置完成。

7. 常见问题与解决方案

7.1 问题1:mysql: command not found

  • 原因:Homebrew 路径未加入环境变量(罕见,Apple Silicon 路径为 /opt/homebrew/bin,Intel 为 /usr/local/bin);
  • 解决:执行以下命令添加环境变量,重启终端:
    # Apple Silicon 芯片
    echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc
    # Intel 芯片
    echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshrc
    # 生效配置
    source ~/.zshrc

7.2 问题2:启动服务失败(status: error

  • 原因:3306 端口被占用(如旧版 MySQL 未关闭);
  • 解决:查找并杀死占用端口的进程:
    # 查找占用 3306 端口的进程
    lsof -i:3306
    # 杀死进程(替换 PID 为上一步显示的进程号)
    kill -9 PID
    # 重启 MySQL 服务
    brew services restart mysql

7.3 问题3:登录提示 Access denied for user 'root'@'localhost'

  • 原因:忘记安全配置时设置的 root 密码;
  • 解决:重置 root 密码(参考MySQL 官方重置指南)。

8. 总结

本文通过 Homebrew 完成了 MySQL 的安装、启动、验证与安全配置,核心优势:

  1. 无需手动配置路径:Homebrew 自动管理环境变量;
  2. 依赖自动处理:无需手动安装 abseil、icu4c 等依赖;
  3. 服务管理便捷brew services 一键启动/停止/重启;
  4. 新手友好:避开官方安装包的复杂配置步骤。

后续可通过 mysql -u root -p 登录 MySQL(需输入安全配置时设置的密码),开始数据库操作。

posted on 2025-11-06 12:09  blfbuaa  阅读(62)  评论(0)    收藏  举报