Mac 如何安装 MySQL – wiki基地


Mac 系统下 MySQL 数据库的安装与配置:一篇详尽的终极指南

引言

MySQL 是目前世界上最流行的开源关系型数据库管理系统之一,被广泛应用于 Web 应用开发、企业数据存储以及各种数据驱动的软件项目中。对于 Mac 用户而言,无论是进行本地开发、学习数据库知识,还是搭建个人服务器环境,安装一个可靠的 MySQL 实例是必不可少的步骤。

然而,在 Mac 系统上安装和配置 MySQL 有多种方法,每种方法都有其优缺点和适用的场景。本文将为您详细介绍 Mac 上安装 MySQL 的几种主要方法,包括最常用的官方 DMG 安装器、开发者青睐的 Homebrew 包管理器,以及现代化、隔离性强的 Docker 容器化安装。通过本文的指引,您将能够根据自己的需求选择最适合的安装方式,并顺利完成 MySQL 的安装、初始配置以及常见问题的解决。

我们将详细讲解每个步骤,并提供必要的命令和截图(尽管本文是纯文本,但会用文字清晰描述界面的操作),确保即使是初次接触的读者也能轻松上手。

一、准备工作

在开始安装之前,请确保您的 Mac 系统满足以下基本要求:

  1. macOS 系统版本: 确保您的 macOS 版本兼容您计划安装的 MySQL 版本。通常,新版本的 MySQL 支持较新的 macOS 版本。您可以在 MySQL 官方网站的产品下载页面查看具体的兼容性信息。
  2. 管理员权限: 安装软件和配置系统服务需要管理员权限。
  3. 稳定的网络连接: 下载安装包或使用包管理器都需要稳定的网络连接。
  4. 足够的磁盘空间: MySQL 及其数据文件需要一定的磁盘空间。

二、方法一:使用官方 DMG 安装器(推荐新手)

官方 DMG 安装器提供了一个图形化界面,安装过程直观易懂,非常适合对命令行不太熟悉的初学者。

步骤 1:前往 MySQL 官方网站下载安装包

  1. 打开浏览器,访问 MySQL 官方下载页面:https://dev.mysql.com/downloads/mysql/
  2. 在页面中找到 “macOS” 选项,并选择适合您 Mac 芯片架构的安装包。
    • 如果您使用的是搭载 Apple Silicon (M1, M2, M3 等) 芯片的 Mac,请选择 “macOS (ARM, 64-bit)”。
    • 如果您使用的是搭载 Intel 芯片的 Mac,请选择 “macOS (x86, 64-bit)”。
  3. 通常建议下载最新的 “DMG Archive” 版本。
  4. 点击 “Download” 按钮。页面可能会要求您登录或注册 Oracle 账户,您可以选择下方的 “No thanks, just start my download.” 跳过登录直接下载。

步骤 2:运行 DMG 安装器

  1. 下载完成后,找到下载的 .dmg 文件(通常在您的 “下载” 文件夹中),双击打开它。
  2. 会弹出一个窗口,其中包含一个安装程序包文件(例如:mysql-x.y.z-macos-arch.pkg)。双击这个 .pkg 文件启动安装程序。

步骤 3:跟随安装向导

  1. 安装向导会启动。点击 “继续”。
  2. 阅读许可协议,如果同意,点击 “继续”,然后在弹出的对话框中点击 “同意”。
  3. 在 “安装类型” 步骤,您可以选择安装位置(通常保持默认即可)。点击 “安装”。
  4. 系统可能会提示您输入管理员密码,输入并点击 “安装软件”。

步骤 4:配置 MySQL 服务器

这是安装过程中最关键的一步。安装程序会提示您进行数据库的初始配置,主要包括设置 root 用户的密码和选择认证方法。

  1. Authentication Method(认证方法): 您会看到两个选项:
    • Use Strong Password Encryption (Recommended): 使用强大的密码加密方法(SHA256)。这是官方推荐的更安全的方式,但某些老旧的客户端或连接器可能不支持。
    • Use Legacy Password Encryption (Less Secure): 使用传统的遗留密码加密方法。兼容性更好,但安全性较低。
    • 建议: 如果您不确定或需要与较旧的应用程序兼容,可以选择遗留密码加密。如果仅用于本地开发或新项目,强烈建议选择强大的密码加密。选择一个您认为合适的选项,并点击 “Next”。
  2. Set Root Password(设置 Root 密码): 为数据库的超级用户 root 设置一个密码。这个密码非常重要,请务必记住或妥善保管! 输入密码后,点击 “Finish”。
  3. 安装向导会完成最后的安装步骤。可能会提示您安装成功。点击 “关闭”。

步骤 5:启动 MySQL 服务器

安装完成后,MySQL 服务默认是关闭的。您可以通过系统设置来启动它。

  1. 打开 “系统设置” (System Settings) 或 “系统偏好设置” (System Preferences)。
  2. 在底部找到 “MySQL” 图标并点击进入。
  3. 在 MySQL 配置面板中,您会看到一个状态指示器(通常是红色的停止状态)和一个 “Start MySQL Server” 按钮。点击这个按钮。
  4. 系统可能会要求输入管理员密码以启动服务。
  5. 如果成功启动,状态指示器会变成绿色,显示 “Running”。
  6. 您还可以勾选 “Start MySQL when your computer starts up” (开机时自动启动 MySQL) 选项,方便以后使用。

步骤 6:将 MySQL 添加到 PATH 环境变量(可选,但强烈建议)

为了能够在终端中直接运行 mysqlmysqldump 等命令,需要将 MySQL 的 bin 目录添加到系统的 PATH 环境变量中。

  1. 打开终端应用程序。
  2. 根据您使用的 Shell (zsh 或 bash) 编辑相应的配置文件。macOS Ventura 及更新版本默认使用 zsh,旧版本可能使用 bash。
    • 对于 zsh: 编辑 ~/.zshrc 文件。输入 nano ~/.zshrcopen ~/.zshrc
    • 对于 bash: 编辑 ~/.bash_profile 文件。输入 nano ~/.bash_profileopen ~/.bash_profile
  3. 在文件的末尾添加以下行。请注意,安装路径可能因 MySQL 版本和您的 Mac 架构而略有不同。通常的安装路径是 /usr/local/mysql/bin/usr/local/mysql-<version>/bin。在 MySQL 配置面板中也可以找到安装路径信息。
    bash
    export PATH="/usr/local/mysql/bin:$PATH"

    • 提示: 如果您不确定路径,可以在 MySQL 配置面板中找到安装路径,然后手动导航到 bin 目录查看。例如,/usr/local/mysql/bin
  4. 保存并关闭文件。
  5. 在终端中执行以下命令使配置生效:
    • 对于 zsh: source ~/.zshrc
    • 对于 bash: source ~/.bash_profile
  6. 验证是否成功:输入 mysql --version 并按回车。如果显示了 MySQL 的版本信息,说明 PATH 配置成功。

步骤 7:连接到 MySQL 服务器

  1. 打开终端。
  2. 输入以下命令连接到本地 MySQL 服务器,使用 root 用户和您之前设置的密码:
    bash
    mysql -u root -p
  3. 系统会提示您输入密码(Enter password:)。输入您在步骤 4 中设置的 root 密码,然后按回车。
  4. 如果密码正确,您将成功连接到 MySQL 服务器,并看到 mysql> 提示符。
  5. 输入 exit; 并按回车退出 MySQL 命令行客户端。

DMG 安装器的优点:

  • 图形化界面,操作简单直观。
  • 包含完整的安装包和配置工具。
  • 通过系统设置面板管理服务启停方便。

DMG 安装器的缺点:

  • 更新时需要重新下载和运行新的 DMG 包。
  • 对于习惯命令行的开发者来说可能稍显繁琐。
  • PATH 环境变量需要手动配置。

三、方法二:使用 Homebrew 包管理器(推荐开发者)

Homebrew 是 Mac 上非常流行的包管理器,可以轻松安装、更新和卸载各种命令行工具和开发软件。使用 Homebrew 安装 MySQL 是许多开发者的首选方式,因为它通过命令行完成,易于管理和自动化。

步骤 1:安装 Homebrew(如果尚未安装)

  1. 打开终端应用程序。
  2. 访问 Homebrew 官方网站:https://brew.sh/
  3. 复制网站首页提供的安装命令。该命令通常如下所示(请访问官网获取最新命令):
    bash
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  4. 将命令粘贴到终端中并按回车。
  5. 按照终端提示进行操作,可能需要输入管理员密码,并可能需要安装 Xcode Command Line Tools。整个过程可能需要一些时间。
  6. 安装完成后,按照终端的提示运行 brew doctorbrew update 确保 Homebrew 工作正常。

步骤 2:使用 Homebrew 安装 MySQL

  1. 安装完 Homebrew 后,在终端中输入以下命令即可安装 MySQL:
    bash
    brew install mysql
  2. Homebrew 会自动下载并编译安装最新稳定版本的 MySQL。这个过程可能需要一些时间,取决于您的网络速度和电脑性能。

步骤 3:启动 MySQL 服务

Homebrew 安装的 MySQL 默认不会自动启动。您可以使用 Homebrew Services 来管理服务的启停。

  1. 在终端中输入以下命令启动 MySQL 服务:
    bash
    brew services start mysql
  2. 您也可以使用以下命令来停止或重启服务:
    bash
    brew services stop mysql
    brew services restart mysql
  3. 要检查服务状态,可以使用:
    bash
    brew services list

步骤 4:运行安全安装脚本(非常重要!)

安装完成后,MySQL 会建议您运行一个名为 mysql_secure_installation 的脚本,以增强数据库的安全性。强烈建议您运行此脚本。

  1. 在终端中输入:
    bash
    mysql_secure_installation
  2. 脚本会引导您完成以下配置步骤:
    • VALIDATE PASSWORD COMPONENT(验证密码组件): 可以选择安装一个插件,强制要求设置强密码。根据提示选择是否安装和设置密码强度级别。如果您选择安装,您将需要为 root 用户设置一个满足强度要求的密码。
    • Change the root password?(更改 root 密码?): 如果这是第一次安装,会提示您设置 root 密码。输入并确认您希望设置的 root 密码。请务必记住这个密码。
    • Remove anonymous users?(移除匿名用户?): 匿名用户是为了方便测试,但存在安全风险。建议选择 Y 移除。
    • Disallow root login remotely?(禁止 root 用户远程登录?): 通常不建议 root 用户从远程连接。建议选择 Y 禁止。如果您确实需要远程连接,可以稍后创建新的用户并赋予权限。
    • Remove test database and access to it?(移除 test 数据库及其访问权限?): test 数据库用于测试,可以保留或移除。出于安全考虑,建议选择 Y 移除。
    • Reload privilege tables now?(现在重新加载权限表?): 应用上述更改。建议选择 Y。
  3. 按照提示完成所有步骤,通常除了设置 root 密码外,其他选项都建议选择 Y。

步骤 5:将 MySQL 添加到 PATH 环境变量(通常 Homebrew 已自动处理)

Homebrew 在安装软件时通常会自动将它们的 bin 目录链接到 /usr/local/bin/opt/homebrew/bin (Apple Silicon),这些目录通常已经包含在系统的 PATH 中。

  1. 打开新的终端窗口或标签页。
  2. 输入 mysql --version 并按回车。如果显示了版本信息,说明 PATH 已经配置好,您可以直接使用 mysql 命令。
  3. 如果您使用的是 Apple Silicon Mac,Homebrew 安装路径通常是 /opt/homebrew。请确保 /opt/homebrew/bin 在您的 PATH 中。检查 echo $PATH 的输出。如果不在,请参考 DMG 方法中的步骤 6 手动添加到 .zshrc.bash_profile 文件中,路径修改为 /opt/homebrew/bin

步骤 6:连接到 MySQL 服务器

  1. 打开终端。
  2. 输入以下命令连接到本地 MySQL 服务器,使用 root 用户和您在 mysql_secure_installation 脚本中设置的密码:
    bash
    mysql -u root -p
  3. 系统会提示您输入密码。输入密码后按回车。
  4. 成功连接后,您将看到 mysql> 提示符。
  5. 输入 exit; 退出。

Homebrew 安装器的优点:

  • 命令行操作,适合开发者和自动化。
  • 安装和更新方便快捷 (brew update && brew upgrade mysql)。
  • 易于卸载 (brew uninstall mysql)。
  • 与 Homebrew 管理的其他开发工具集成良好。

Homebrew 安装器的缺点:

  • 需要先安装 Homebrew。
  • 对不熟悉命令行的用户来说有一定门槛。
  • 初始安全配置需要手动运行脚本。

四、方法三:使用 Docker 容器化安装(推荐需要环境隔离或跨平台一致性)

Docker 是一种轻量级的容器化技术,可以将应用程序及其所有依赖项打包到一个独立的容器中运行。使用 Docker 安装 MySQL 可以确保环境的高度隔离性,避免与宿主系统的其他软件发生冲突,也便于在不同环境(Mac, Windows, Linux)之间迁移。

步骤 1:安装 Docker Desktop for Mac

  1. 前往 Docker 官方网站下载 Docker Desktop for Mac:https://www.docker.com/products/docker-desktop/
  2. 下载适合您 Mac 芯片架构的版本 (Intel 或 Apple Silicon)。
  3. 双击下载的 .dmg 文件,将 Docker Desktop 图标拖拽到 “Applications” 文件夹中。
  4. 打开 “Applications” 文件夹,双击 Docker Desktop 启动。
  5. 按照 Docker Desktop 的向导完成初始化设置,可能需要接受许可协议,并授予必要的权限。确保 Docker 引擎成功启动(Docker Desktop 应用程序窗口左下角显示绿色状态)。

步骤 2:从 Docker Hub 拉取 MySQL 镜像

  1. 打开终端应用程序。
  2. 从 Docker Hub(Docker 官方镜像仓库)拉取最新的 MySQL 镜像。
    bash
    docker pull mysql:latest

    这个命令会下载最新稳定版本的 MySQL 镜像。您也可以指定具体的版本号,例如 mysql:8.0

步骤 3:运行 MySQL 容器

使用 docker run 命令创建一个新的 MySQL 容器。您需要设置 root 用户的密码,并可以选择性地映射数据卷和端口。

bash
docker run --name some-mysql \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
-p 3306:3306 \
-v mysql_data:/var/lib/mysql \
-d mysql:latest

解释一下这个命令:

  • docker run: 创建并运行一个新的容器。
  • --name some-mysql: 给容器指定一个名字,这里叫做 some-mysql (您可以改为其他名字)。
  • -e MYSQL_ROOT_PASSWORD=my-secret-pw: 设置环境变量 MYSQL_ROOT_PASSWORD,这是 MySQL 官方镜像用来初始化 root 用户密码的方式。my-secret-pw 替换为您想要设置的 root 密码。请务必设置一个强密码。
  • -p 3306:3306: 将容器内部的 3306 端口(MySQL 默认端口)映射到宿主机的 3306 端口。这样您就可以通过 localhost:3306 从 Mac 连接到容器内的 MySQL。如果您宿主机的 3306 端口已被占用,可以将左边的端口号改为其他未被占用的端口,例如 -p 3307:3306
  • -v mysql_data:/var/lib/mysql: 创建一个 Docker 数据卷 mysql_data 并将其挂载到容器内部 /var/lib/mysql 目录。这是 MySQL 存储数据的地方。使用数据卷可以确保即使容器被删除,数据仍然保留,下次创建新容器时可以重新挂载该数据卷,实现数据持久化。mysql_data 是数据卷的名称,您可以自定义。
  • -d: 后台运行容器 (detached mode)。容器将在后台运行,不会占用当前的终端窗口。
  • mysql:latest: 指定要运行的镜像名称和标签。

运行命令后,Docker 会在后台启动 MySQL 容器。您可以使用 docker ps 命令查看正在运行的容器列表,确认 some-mysql 容器是否正在运行。

步骤 4:连接到容器内的 MySQL 服务器

您可以通过宿主机的 3306 端口连接到容器内的 MySQL,就像连接到本地安装的 MySQL 一样。

  1. 打开终端。
  2. 使用 MySQL 客户端连接(如果您已经通过 DMG 或 Homebrew 安装了 MySQL 客户端,或者使用其他 GUI 客户端如 MySQL Workbench)。
    bash
    mysql -h 127.0.0.1 -P 3306 -u root -p

    注意:这里连接主机是 127.0.0.1 (或 localhost),端口是映射出来的 3306。
  3. 输入您在 docker run 命令中设置的 MYSQL_ROOT_PASSWORD
  4. 成功连接后,您将看到 mysql> 提示符。

您也可以通过 Docker 命令直接进入容器内部执行 MySQL 命令:

bash
docker exec -it some-mysql mysql -u root -p

然后输入 root 密码。docker exec -it 允许您在运行中的容器内执行命令并进入交互式终端。

Docker 容器化安装的优点:

  • 环境隔离性强,不会污染宿主系统。
  • 易于创建、删除和重建环境。
  • 数据持久化通过数据卷管理,方便迁移和备份。
  • 版本管理灵活,可以同时运行不同版本的 MySQL 容器。
  • 跨平台一致性好。

Docker 容器化安装的缺点:

  • 需要先安装和了解 Docker 的基本概念和操作。
  • 相比原生安装,可能略有性能开销(通常不影响本地开发)。
  • 需要额外运行 Docker Desktop 应用程序。

五、常见问题与解决方案

在安装和使用 MySQL 的过程中,您可能会遇到一些常见问题:

  1. 权限问题 (“Permission denied”):
    • 原因: 通常是因为尝试在没有足够权限的目录操作,或者 MySQL 数据目录的权限设置不正确。
    • 解决方案: 使用 sudo 命令执行需要管理员权限的操作。检查 MySQL 数据目录(DMG 安装通常在 /usr/local/mysql/data 或相关位置,Homebrew 安装可能在 /usr/local/var/mysql/opt/homebrew/var/mysql)的用户和组权限,确保 MySQL 服务进程(通常是 _mysql 用户)有读写权限。使用 chownchmod 命令修正。对于 Homebrew 安装,brew doctor 可能会给出权限相关的提示。
  2. 无法连接到本地 MySQL 服务器 (“Can’t connect to local MySQL server through socket” 或 “Connection refused”):
    • 原因: MySQL 服务器没有运行,或者客户端尝试通过错误的套接字文件或网络地址连接。
    • 解决方案:
      • 检查服务状态:
        • DMG 安装:在 “系统设置” -> “MySQL” 面板中检查状态,点击启动。
        • Homebrew 安装:使用 brew services list 查看状态,使用 brew services start mysql 启动。
        • Docker 安装:使用 docker ps 检查容器是否正在运行,使用 docker start some-mysql 启动容器。
      • 检查套接字文件: 某些情况下,客户端可能默认尝试通过一个特定的套接字文件连接(通常在 /tmp/mysql.sock/var/run/mysql/mysql.sock 等位置)。如果服务器使用了不同的套接字文件路径,或者该文件不存在/权限问题,就会出现套接字连接错误。可以通过 mysql --help 查看默认套接字路径,或者在 MySQL 配置文件 (my.cnf) 中查找 socket 配置项。连接时可以使用 -S /path/to/mysql.sock 指定套接字文件。
      • 检查网络连接: 确保服务器端口 (默认为 3306) 没有被防火墙阻止,并且服务器配置允许本地连接(bind-address = 127.0.0.1 或注释掉)。使用 mysql -h 127.0.0.1 -P 3306 -u root -p 尝试通过 TCP/IP 连接而不是套接字。
  3. 忘记 Root 密码:
    • 原因: 这是常见的问题。
    • 解决方案: 这是一个比较复杂的过程,需要停止 MySQL 服务,以跳过权限验证的方式启动 MySQL,然后修改 root 密码,最后正常重启服务。具体步骤因 MySQL 版本和安装方式而异,建议查阅 MySQL 官方文档或相关教程进行操作,因为操作不当可能导致问题。简而言之,一般步骤是:停止 MySQL -> 修改配置文件允许跳过权限 (skip-grant-tables) -> 以无权限模式启动 MySQL -> 使用无需密码的方式连接 -> UPDATE mysql.user 表修改密码 -> FLUSH PRIVILEGES -> 停止 MySQL -> 恢复配置文件 -> 正常启动 MySQL。
  4. PATH 环境变量未配置:
    • 原因: 系统找不到 mysql 等命令。
    • 解决方案: 按照本文前面 DMG 方法的步骤 6 配置 .zshrc.bash_profile 文件,并将 MySQL 的 bin 目录路径添加到 PATH 中。注意根据您的安装方式和 Mac 架构确定正确的路径 (/usr/local/mysql/bin/opt/homebrew/bin 等)。
  5. 配置文件 my.cnf 的位置:
    • 原因: 需要修改 MySQL 配置,但找不到配置文件。
    • 解决方案: MySQL 会在多个默认位置查找配置文件,例如 /etc/my.cnf, /etc/mysql/my.cnf, /usr/local/mysql/etc/my.cnf, ~/.my.cnf 等。使用 mysql --help | grep "Default options" 命令可以查看 MySQL 查找配置文件的顺序和位置。Homebrew 安装的 MySQL 配置文件通常在 /usr/local/etc/my.cnf/opt/homebrew/etc/my.cnf,但默认可能没有该文件,您可以创建一个。DMG 安装的配置文件可能在 /usr/local/mysql/support-files/my-default.cnf (这是一个模板文件,您需要复制并修改) 或其他位置。

六、连接 MySQL 的 GUI 工具

除了命令行客户端 mysql 外,还有许多图形用户界面 (GUI) 工具可以连接和管理 MySQL 数据库,它们提供了更友好的操作界面:

  • MySQL Workbench: 官方提供的集成开发环境,功能强大,支持数据库设计、建模、SQL 开发、管理和迁移。
  • Sequel Ace / Sequel Pro: Mac 上流行的免费轻量级 MySQL GUI 工具 (Sequel Pro 已停止维护,Sequel Ace 是其社区维护的分支)。
  • DBeaver: 通用的数据库工具,支持 MySQL、PostgreSQL、Oracle 等多种数据库。免费版功能已足够强大。
  • TablePlus: 一款现代化的数据库 GUI 工具,界面美观,支持多种数据库。

选择一个您喜欢的 GUI 工具,填写连接信息(主机地址、端口、用户名、密码),即可方便地进行数据库操作。

七、总结与展望

本文详细介绍了在 Mac 系统上安装 MySQL 的三种主要方法:官方 DMG 安装器、Homebrew 包管理器以及 Docker 容器。

  • 如果您是初学者,推荐使用官方 DMG 安装器,因为它提供了最简单的图形化安装流程。
  • 如果您是开发者,熟悉命令行,推荐使用 Homebrew,它管理软件方便,更新快捷。
  • 如果您需要环境隔离,或者需要在不同平台之间保持一致性,推荐使用 Docker

无论您选择哪种方法,安装完成后都强烈建议运行 mysql_secure_installation 脚本来加强数据库的安全性。

安装好 MySQL 后,您可以开始学习 SQL 语言,使用各种编程语言连接 MySQL 数据库进行开发,或者使用 GUI 工具管理您的数据。数据库的世界广阔而精彩,祝您学习顺利!

如果您在安装过程中遇到其他问题,可以查阅 MySQL 官方文档、Homebrew 文档、Docker 文档,或者在相关的开发者社区和论坛寻求帮助。


发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部