对于需要在 macOS 系统上开发软件应用的开发者来说,如果牵涉到 MySQL 数据库,为方便测试,通常需要在本地安装 MySQL 服务器(以下简称 MySQL)。
MySQL 官方文档提供了在 macOS 系统上安装及初始化 MySQL 服务器的详细步骤,均可在 MySQL 官方文档的“安装及升级 MySQL”章节中找到详细介绍。如果你的时间有限,急需在短时间内安装使用 MySQL,可参考本文提供的最佳实践快速进行安装配置。
本文将以最新的 MySQL Community Server 为例,详细介绍如何在 macOS 上下载、安装、初始化以及启动 MySQL。
一、选择安装方式
在 macOS 上安装 MySQL 有很多种选择,比如可以使用 MySQL 官方提供的安装包或二进制分发文件安装,也可以使用 MacPorts、HomeBrew 等第三方包管理器安装。这些安装方式各有优缺点,比如使用官方安装包需要手动下载安装包文件安装,而使用 HomeBrew 这种第三方包管理器安装,则需要保持你的 macOS 系统处于较新版本,否则会被停止支持,并且还会被安装大量依赖,占用宝贵的磁盘空间。
MySQL 为 macOS 提供了两种安装方式。一种是使用原生 macOS 安装程序,它可以引导你一步步完成 MySQL 的安装,这种方式需要管理员权限;另一种是下载通用二进制文件压缩包,这种方式最为灵活也不需要管理员权限,但需要你通过终端手动完成相关配置,包括创建用户、配置系统环境变量、启动或停止 MySQL、初始化数据库等,具体可参考官方文档的相关内容。
为最小化配置步骤,本文推荐使用 MySQL 官方提供的安装包安装。这种安装方式会在“系统设置”(或“系统偏好设置”)面板添加一个 MySQL 图标,利用这个 MySQL 设置工具,可以很方便地开启或停止 MySQL、初始化数据库以及配置 MySQL 的相关目录。
二、下载 MySQL
MySQL 为 macOS 提供了原生安装程序,可以通过以下链接下载:
MySQL 下载页面:https://dev.mysql.com/downloads/mysql/
默认该页面会显示 MySQL 的最新正式发布版本。如果你的 macOS 系统版本与之相匹配,则可以直接在此页面下载。
你需要在此页面选择适用于你当前 macOS 系统版本和计算机中央处理器(CPU)架构[1]的 MySQL 安装程序。在“Select Version”下拉菜单中选择想要的 MySQL 版本,如 9.0.1 Innovation;在“Select Operating System”下拉菜单中选择 macOS;在“Select OS Version”下拉菜单中选择与你的 macOS 相匹配的系统版本,包括与你的计算机 CPU 相匹配的架构,如 macOS 14 (x86, 64-bit)。最后下载对应的 DMG 映像文件即可。
如果你的 macOS 系统不是最新版本,则需要先点击“Archives”选项卡进入存档版本页面,在“Product Version”下拉菜单中选择适合你当前所使用 macOS 系统版本的 MySQL 版本(注意,通常各个版本对应不同的 macOS 系统版本,你需要通过选择 MySQL 版本再确定是否和你的 macOS 系统版本相匹配,如 8.0.31 适用于 macOS 12,8.0.23 适用于 macOS 10.15);在“Operating System”下拉菜单中选择 macOS;如果存在“OS Version”下拉菜单,可以选择与你的 macOS 相匹配的系统版本以及与你的计算机 CPU 相匹配的架构,如 macOS 12 (x86, 64-bit)。最后下载对应的 DMG 映像文件即可。
三、安装 MySQL
双击下载到的 DMG 文件加载映像,然后双击该映像中扩展名为 .pkg 的安装程序开始 MySQL 的安装流程。
如果遇到 macOS 系统弹出类似”’mysql-xxxxx.pkg’ cannot be opened because it is from an unidentified developer.“(无法打开“mysql-xxxxx.pkg”,因为它来自身份不明的开发者)提示框的情况,可先点击 OK(好的)按钮关闭提示框,然后打开 macOS 系统的 System Settings(系统设置)或 System Preferences(系统偏好设置)并进入 Security & Privacy(隐私与安全性),在窗口下方找到并点击 Open Anyway(仍要打开),然后在接下来弹出的窗口中继续点击 Open(打开)按钮打开。
安装程序会先弹出一个提示框“This package will run a program to determine if the software can be installed.”(该安装程序将运行程序检查该软件是否能够被安装。)点击 Allow(允许)按钮继续。
在接下来的 Introduction(介绍)界面,继续点击 Continue 按钮跳过。
在 License(许可)界面点击 Continue 按钮,并在弹出的提示框“To continue installing the software you must agree to the terms of the software license agreement.”(要继续安装该软件必须同意软件许可协议相关条款。)点击 Agree(同意)按钮继续。
在 Installation Type(安装类型)界面可选择安装位置,以及自定义安装组件。如果没有特别需要,默认即可。如果你想更换安装位置,可点击 Change Install Location…(更改安装位置…)按钮选择你想要安装的位置。如果你想自定义安装组件,可点击 Customize(自定义)选择要安装的组件。最后点击 Install(安装)按钮开始安装。
当安装程序进入 Installation(安装)界面时,会弹出需要系统权限的提示框,在输入框中填写你的 macOS 系统的用户名和密码并点击 Install Software(安装软件)按钮即可。
安装过程结束后会进入 Confgiuration(配置)界面,在这里 MySQL 提供了两种密码加密选项,即新式的“Use Strong Password Encryption”(使用强密码加密)和老式的“Use Legacy Password Encryption”(使用旧式密码加密)。如果你要使用的 MySQL 客户端不支持前者,则需要选择后者。如果你在 macOS 系统上安装 MySQL 的主要目的是开发和测试,则建议选择后者,否则可根据的实际情况自行选择。当然该配置也可在安装完成后通过配置面板随时更改。
选好之后点击 Next(下一步),这里需要为默认的 root 用户(即超级管理员用户)设置密码。在“Please enter a password for the ‘root’ user.”(请为“root”用户输入密码。)下方的输入框中输入密码。另外,如果你想在 MySQL 安装完成后立即启动服务器,则可以勾选“Start MySQL Server once the installation is complete.”(安装完成后立即开启 MySQL 服务器。)这一选项,否则需要取消勾选。
接下来点击 Finish(完成)按钮。如果你勾选了立即启动 MySQL 的选项,这时会弹出提示框“InstallerRemotePluginService wants to make changes.”(InstallerRemotePluginService 想要做出更改。)在输入框中填写你的 macOS 系统的用户名和密码并点击 OK(好的)按钮,稍等片即可完成 MySQL 的安装进入 Summary(总结)界面。
点击 Close(关闭)按钮,这里会弹出“‘Installer.app’ would like to access files in your xxxxx folder.”(“Installer.app 想要访问你 xxxxx 文件夹中的文件”),点击 OK(好的)按钮,这时会弹出提示框“Do you wants to move the ‘MySQL x.x.xx-community’ installer to the Trash?”(是否想要将“ MySQL x.x.xx-community”移至垃圾桶?)来询问你是否想要删除 MySQL 安装文件,如果你不再需要改文件,可点击 Move to Trash(移至垃圾桶)将其放进垃圾桶,否则点击 Keep(保留)按钮即可。
至此整个 MySQL 安装过程便告结束。
四、使用 MySQL
默认情况下,MySQL 会为你的 macOS 系统的“系统设置”(或“系统偏好设置”)面板中添加个“MySQL”图标,你这里在这里对所安装的 MySQL 进行一些简单的配置。
通过 macOS 系统主菜单或 Application(应用)文件夹打开“系统设置”(或“系统偏好设置”),然后在界面下方找到并点击“MySQL”图标即可打开 MySQL 的设置界面。
MySQL 的设置界面包括“Instances”(实例)和“Configuration”(配置)两个选项卡。
在 Instances(实例)选项卡中,你可以在左侧看到 ACTIVE INSTANCE(激活的实例)和安装和 INSTALLED INSTANCES(安装的实例)以及 DATA DIRECTORIES(数据目录)这三项信息。前两个现实的是当前激活和安装的 MySQL 实例,最后一个显示 MySQL 更新新版本后旧版本所留下来的数据目录。
在这里你可以选中 MySQL 实例,并通过“Start MySQL Server”(开启 MySQL 服务器)或“Stop MySQL Server”(停止 MySQL 服务器)两个按钮开启或停止 MySQL。也可以通过勾选或取消勾选“Start MySQL when your computer starts up”(当你的电脑启动时开启 MySQL)这个复选框,来决定是否让 MySQL 随机启动。
虽然在之前的安装过程中 MySQL 安装程序已经对数据库进行了初始化,你仍可以随时在这里通过“Initialize Database”(初始化数据库)按钮对当前的数据库进行初始化。注意,这将会删除当前数据库中的全部数据,并且需要重新设置密码和选择密码加密方式,就像安装时所做的那样。
如果你不再需要 MySQL,可以点击 Uninstall(卸载)按钮卸载 MySQL。这时会弹出一个卸载 MySQL 的提示框,告知你卸载程序将会删除什么文件,如果你想要同时删除 macOS 系统“系统设置”(或“系统偏好设置”)面板中的 MySQL 图标,可以一并勾选“Also uninstall this preference pane, and launched support files”(同时卸载偏好图标,并随机启动文件)复选框。
在 Configuration(配置)选项卡中,可以手动指定 MySQL 相关目录位置,包括 Configuration File(配置文件)、Base Directory(基础目录)、Data Directory(数据目录)、Plugin Directory(插件目录)、Keyring Data File(密钥环数据目录),以及 Error Log(错误日志)和 PID File(PID 文件)文件位置。
如果没有特殊需要,可以不更改这些设置。如确实需要更改,可在设置好目录或文件位置后,点击 Apply(应用)按钮让你的更改生效。
五、更新 MySQL
更新 MySQL 的过程与安装 MySQL 的步骤相同,但是要注意,这会自动卸载旧版本 MySQL,但是会保留旧版本 MySQL 的数据库数据。
你可以在 MySQL 的设置界面的数据目录看到旧版本数据库文件,对应的目录是 /usr/local 目录下带有相应 MySQL 版本号的目录。如果你想要新安装的 MySQL 使用旧版本数据库,需要在 MySQL 的设置界面的配置选项卡中将数据目录更改为这个旧版本数据库文件夹。
不过本文不推荐这样做,而是推荐在更新前通过 MySQL 客户端或 MySQL 命令行文件手动备份数据库,然后在更新 MySQL 之后手动恢复,虽然这看起来有些麻烦,但这可以避免潜在的新旧版本的兼容性等问题。
六、总结
完成以上流程后,应该能够得到如下所示的这些可用文件或信息。这些信息可能会在维护 MySQL 时用到,也可能会被其它软件用到。
MySQL 程序路径(这是一个指向同目录下带 MySQL 版本号目录的符号连接):
/usr/local/mysql
MySQL 数据库文件存放路径:
/usr/local/mysql/data
MySQL 的本地 IP 地址和端口:
127.0.0.1:3306
MySQL 的 Socket 文件路径:
/tmp/mysql.sock
如果你在操作的过程中遇到了任何问题,可留言提出。
^[1] 可在终端运行 uname -m
命令查看当前计算机 CPU 架构。