macOS从MySQL官网下载DMG包安装及安全权限设置

顾星河
顾星河
发布时间:2026-09-23 | 7人浏览过
原创
在 macOS 系统上部署关系型数据库,官方提供的 DMG 格式安装包是集成度最高、与系统服务结合最紧密的方式。完成这一目标需顺次解决四个环节:核实 Mac 芯片架构以从官网下载匹配的镜像、按照官方向导将服务注入系统目录、将二进制文件导入终端环境变量,以及执行专用的权限安全脚本完成数据库初始化收口。

一、下载准备:确认 macOS 硬件架构与获取 DMG

在访问 MySQL 官网之前,必须确认当前计算机使用的处理器架构。从 macOS 11 开始,Mac 设备主要分为两类处理器平台:苹果自研芯片(Apple Silicon,如 M1/M2/M3/M4 系列)和传统的英特尔芯片(Intel x86_64)。下载了不匹配的架构会导致服务启动时发生二进制格式错误或强制走 Rosetta 翻译层,严重损耗数据库的运行吞吐。

通过屏幕左上角的苹果图标进入“关于本机”,或在终端执行如下命令核实底层芯片架构:

uname -m

命令返回结果若为 arm64,说明当前设备为 Apple Silicon 芯片;若返回结果为 x86_64,说明当前设备为 Intel 处理器。

打开浏览器访问 MySQL 官方下载站点(dev.mysql.com/downloads/mysql/)。系统筛选器选择“macOS”,在安装包列表中定位带有 .dmg 扩展名的归档文件:

  • ARM 架构:下载名称中包含 macOS ... (ARM, 64-bit), DMG Archive 的软件包。
  • Intel 架构:下载名称中包含 macOS ... (x86, 64-bit), DMG Archive 的软件包。

页面跳转后提示登录 Oracle 账号,页面下方提供了名为“No thanks, just start my download.”的文本链接,点击该链接即可直接下载 DMG 安装镜像,无需注册账号。

macOS从MySQL官网下载DMG包安装及安全权限设置
图 1:确认 macOS 终端架构与筛选对应 DMG 安装包全流程

二、执行 DMG 包安装与核心配置选项

下载完成后,双击 .dmg 镜像文件,系统将挂载并弹出一个带有 .pkg 扩展名的安装程序。双击打开 PKG 安装包,将启动标准的 macOS 软件安装向导。

在“安装类型”之前只需持续点击“继续”并同意许可协议。当向导推进到配置数据库初始化参数环节时,需要重点关注密码加密机制的选择:

  • Use Strong Password Encryption(推荐):采用基于 SHA-256 的 caching_sha2_password 认证插件。该机制具备更高级别的抗暴力破解安全性,适用于使用现代化开发框架(如最新版本 Node.js、Go、Python 连接驱动及主流客户端工具)的场景。
  • Use Legacy Password Encryption:采用基于 mysql_native_password 算法的旧版认证机制。如果必须兼容旧版客户端、老旧 PHP 驱动或历史遗留维护系统,可勾选该项。

选定加密机制后,安装程序会要求设置本地超级管理员(root)用户的初始密码。请务必牢记该密码,后续环境配置校验及安全脚本执行均需此凭证进行授权。设置完毕后,输入 macOS 系统管理员指纹或开机密码,安装程序便会自动把所有文件写入 /usr/local/mysql。

macOS从MySQL官网下载DMG包安装及安全权限设置
图 2:MySQL 官方向导安装步骤与加密凭据设置逻辑

三、系统设置面板管理与自启动控制

通过 DMG 安装与直接通过编译包安装最大的区别在于,官方安装包会向 macOS 的系统设置中注册专用的偏好设置扩展面板(Preference Pane)。

安装完成后,点击屏幕左上角苹果图标,打开“系统设置”(macOS 13 及以上版本)或“系统偏好设置”。滑动至设置菜单最底部,可以看到新注入的“MySQL”管理图标。

点击进入该面板,可以直接观测到数据库守护进程的底层运行状态:

  • Start / Stop MySQL Server:用于手动启动或停止实例,界面提供红绿状态灯指示。
  • Start MySQL when your computer starts up:控制守护进程是否随 macOS 开机启动。在本地开发测试环境下,建议取消勾选此项,避免常驻后台占用系统内存和 CPU 唤醒周期;仅在需要使用数据库时通过面板或命令行按需启动即可。

四、配置终端环境变量(PATH)

DMG 安装程序将二进制工具链安装在 /usr/local/mysql/bin 目录下,但该路径并不属于 macOS 终端默认检索路径列表。如果不配置环境变量,在终端执行 mysql 或 mysqldump 时,系统将报错:zsh: command not found: mysql。

macOS 默认终端 Shell 为 Zsh(对应配置文件为 ~/.zshrc)。若依然使用旧版 Bash,则对应配置文件为 ~/.bash_profile。可以通过以下指令将 MySQL 的 bin 路径写入配置文件并重新加载:

echo 'export PATH="/usr/local/mysql/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

执行生效后,通过如下命令验证环境变量是否绑定成功:

which mysql

终端若正常回显路径 /usr/local/mysql/bin/mysql,说明配置完成。通过检查版本输出进一步核验客户端可执行性:

mysql --version

五、运行安全脚本与生产权限收口

新安装的 MySQL 数据库处于基础可访问状态,但内部默认配置存在若干安全隐患,包括可能允许空密码、允许从任意远程节点接入、保留用于测试的 test 数据库,以及缺乏口令复杂度校验机制。官方随包分发了名为 mysql_secure_installation 的安全加固实用工具。

在确保 MySQL 服务已处于运行状态后,在终端执行以下交互式加固命令:

mysql_secure_installation

按照终端交互提示,依次对以下安全策略进行设定:

  1. VALIDATE PASSWORD COMPONENT(密码强度验证组件): 询问是否启用口令强度检验。如果输入 y,系统将要求选择密码验证策略级别(0 为 LOW,仅校验长度;1 为 MEDIUM,要求包含数字、大小写和特殊字符;2 为 STRONG,额外比对字典文件)。本地开发为避免密码过长可选择 LOW 或不开启;生产及公网环境必须开启 MEDIUM 以上。
  2. Change the password for root ?(修改 root 密码): 如果向导安装时设置的密码已满足复杂度要求,在此步骤直接输入 n 保持现状;若需重设,输入 y 并键入新口令。
  3. Remove anonymous users ?(移除匿名用户): 必须输入 y。默认情况下,MySQL 允许匿名登录以方便测试,这一机制在生产或多用户环境中极具风险,必须彻底清除。
  4. Disallow root login remotely ?(禁止 root 远程登录): 输入 y。该策略强制 root 用户只能通过本机 localhost 回环地址登录,避免了针对超级管理员账号的网络嗅探与远程暴力破解。
  5. Remove test database and access to it ?(删除测试数据库): 输入 y。默认附带的 test 数据库具有完全公开的读写权限,移除它能收窄攻击面。
  6. Reload privilege tables now ?(重新加载权限表): 输入 y。通知 MySQL 引擎立即从内存中刷新权限定义,使前面的加固策略瞬间生效,无需重启守护进程。
macOS从MySQL官网下载DMG包安装及安全权限设置
图 3:mysql_secure_installation 脚本核心处理阶段与策略建议

六、最小权限用户授权与连接测试

日常开发中,直接使用 root 账号连接应用程序是一种高危行为。一旦连接字符串泄漏,整个数据库集群的主机底层与全量数据都将暴露。安全实践要求为具体的业务系统创建受限的专用用户,并遵循“最小权限原则”分配职责。

通过终端使用刚才加固后的管理员账号登录 MySQL 控制台:

mysql -u root -p

输入密码成功进入交互界面后,通过以下 SQL 语句按步骤创建新数据库、创建受限账户并指定权限范围:

-- 1. 创建应用程序专用业务库
CREATE DATABASE app_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 2. 创建本地受限用户并绑定强认证方式
CREATE USER 'app_user'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'Secure_P@ssw0rd_2026';

-- 3. 授予该账户针对业务库的常规数据操作权限(禁止全局管理权限)
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON app_db.* TO 'app_user'@'localhost';

-- 4. 刷新权限
FLUSH PRIVILEGES;
安全提醒:如果在某些旧版客户端工具(如旧版 Navicat 或老旧微服务框架)中遇到类似 Client does not support authentication protocol requested by server 的报错,说明客户端尚不支持 caching_sha2_password。此时可单独为该用户降级为兼容认证:
ALTER USER 'app_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Secure_P@ssw0rd_2026';

七、系统交付架构与完整流程总结

从 DMG 镜像下载到数据库最终接入业务系统,各层配置相互关联。为便于从全局理解 macOS 底层各组件的交互机制,下图梳理了从硬件芯片识别到库表权限隔离的完整运转模型:

macOS从MySQL官网下载DMG包安装及安全权限设置
图 4:macOS 环境下 MySQL 运行环境、调用链与安全权限配置整体架构

八、常见异常排查与验证

在完成上述步骤后,通常可满足本地及局域网数据库服务需求。若在特定场景下遇到异常,可根据以下特征进行定向排查:

异常表现 主要原因 解决方法
zsh: command not found: mysql PATH 环境变量未配置或未重新加载当前终端窗口。 执行 source ~/.zshrc,或者重启终端会话使路径生效。
偏好设置面板中点击“Start”后红灯不转绿 历史残留数据权限冲突,或底层存在已占用的 3306 端口。 检查系统日志 /usr/local/mysql/data/*.err,确认是否存在端口冲突或权限错误。
第三方管理工具连接提示认证插件不支持 旧客户端不兼容 MySQL 默认的 caching_sha2_password。 通过命令行执行 ALTER USER ... IDENTIFIED WITH mysql_native_password BY '口令';。
服务启动异常提示 Bad CPU type in executable 下载了与 Mac 架构不匹配的 DMG 软件包(如 M 系列芯片下载了 x86 镜像)。 核验 uname -m,重新前往官网下载正确的 ARM 或 x86 架构 DMG 包覆盖安装。

按照上述流程完成安装并经过安全权限脚本加固后,macOS 上的 MySQL 数据库实例不仅与系统服务层做到了标准化解耦,还能有效隔离未授权的外部网络攻击与本地操作越权,提供稳定可靠的数据库基础服务。

本站声明

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

Python 相关产品和应用

全部下载

专题列表