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

文章目录

  • 前言
    • [1. 教程前提与适用环境](#1. 教程前提与适用环境)
    • [2. 步骤1:检查 Homebrew 与 MySQL 是否已安装](#2. 步骤1:检查 Homebrew 与 MySQL 是否已安装)
      • [2.1 检查 Homebrew 是否安装](#2.1 检查 Homebrew 是否安装)
      • [2.2 检查是否已安装 MySQL](#2.2 检查是否已安装 MySQL)
    • [3. 步骤2:通过 Homebrew 安装 MySQL(含下载错误解决)](#3. 步骤2:通过 Homebrew 安装 MySQL(含下载错误解决))
    • [4. 步骤3:启动 MySQL 服务并检查状态](#4. 步骤3:启动 MySQL 服务并检查状态)
    • [5. 步骤4:验证 MySQL 安装与登录测试](#5. 步骤4:验证 MySQL 安装与登录测试)
    • [6. 步骤5:MySQL 安全配置(必做)](#6. 步骤5:MySQL 安全配置(必做))
      • [6.1 执行安全配置命令](#6.1 执行安全配置命令)
      • [6.2 逐步配置安全选项](#6.2 逐步配置安全选项)
    • [7. 常见问题与解决方案](#7. 常见问题与解决方案)
      • [7.1 问题1:`mysql: command not found`](#7.1 问题1:mysql: command not found)
      • [7.2 问题2:启动服务失败(`status: error`)](#7.2 问题2:启动服务失败(status: error))
      • [7.3 问题3:登录提示 `Access denied for user 'root'@'localhost'`](#7.3 问题3:登录提示 Access denied for user 'root'@'localhost')
    • [8. 总结](#8. 总结)

前言

若对您有帮助的话,请点赞收藏加关注哦,您的关注是我持续创作的动力!有问题请私信或联系邮箱: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 → 其他 → 终端),执行以下命令:

bash 复制代码
brew --version
预期结果:
  • 若显示类似 Homebrew 4.6.10 则说明 Homebrew 已安装(如本文日志);

  • 若提示 command not found: brew,需先安装 Homebrew,执行:

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

    按提示输入系统密码,等待安装完成。

2.2 检查是否已安装 MySQL

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

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

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

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

3.1 执行安装命令

终端输入:

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

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

解决方案:
  • 直接重新执行 brew install mysql(Homebrew 会自动续传已下载的依赖,无需从头下载);

  • 若多次失败,可先清理缓存再重试:

    bash 复制代码
    brew cleanup  # 清理旧缓存(本文日志中安装后自动执行)
    brew install mysql

3.2 安装成功的标志

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

bash 复制代码
==> 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 服务

执行命令:

bash 复制代码
brew services start mysql
启动成功标志:

终端显示:

bash 复制代码
==> Successfully started `mysql` (label: homebrew.mxcl.mysql)

4.2 检查服务状态

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

bash 复制代码
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 版本

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

bash 复制代码
mysql --version
预期结果:

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

bash 复制代码
mysql  Ver 9.4.0 for macos15.4 on arm64 (Homebrew)

5.2 首次登录 MySQL(无密码)

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

bash 复制代码
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 命令行)执行:

bash 复制代码
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);

  • 解决 :执行以下命令添加环境变量,重启终端:

    bash 复制代码
    # 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 未关闭);

  • 解决 :查找并杀死占用端口的进程:

    bash 复制代码
    # 查找占用 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(需输入安全配置时设置的密码),开始数据库操作。

相关推荐
小萌新上大分3 小时前
Typora 配置 PicGo 使用 Gitee 图床实现图片自动上传(Mac 详细教程)
macos·gitee·typora图床·gitee图床·picgo配置gitee·typora配置图床·typora的图床gitee
林鸿群3 小时前
Apple M3 MacOS arm64 编译QGroundControl5.0.8(base on Qt 6.8.3)
macos·ios·qgc·qgroundcontrol
Someone_sky3 小时前
Color Wheel for Mac:一键解锁专业配色,设计效率翻倍
macos
悟能不能悟8 小时前
redis的红锁
数据库·redis·缓存
贝多芬也爱敲代码9 小时前
如何减小ES和mysql的同步时间差
大数据·mysql·elasticsearch
安当加密10 小时前
MySQL数据库透明加密(TDE)解决方案:基于国密SM4的合规与性能优化实践
数据库·mysql·性能优化
007php00710 小时前
某大厂跳动面试:计算机网络相关问题解析与总结
java·开发语言·学习·计算机网络·mysql·面试·职场和发展
JH307310 小时前
第七篇:Buffer Pool 与 InnoDB 其他组件的协作
java·数据库·mysql·oracle
板凳坐着晒太阳10 小时前
ClickHouse 配置优化与问题解决
数据库·clickhouse