mac系统部署mysql需依次完成安装(dmg或homebrew)、配置环境变量、启动服务、安全初始化、修改root密码及创建utf8mb4配置文件,确保命令可用、服务运行正常且支持中文与emoji存储。

如果您在Mac系统上需要部署MySQL数据库,但尚未完成安装与基础配置,则可能是由于缺少安装包、环境变量未设置或服务未启动所致。以下是解决此问题的步骤:
一、通过DMG安装包安装MySQL
该方法适用于希望获得完整安装流程控制权的用户,安装过程包含图形化向导,便于初学者操作,并自动生成初始配置和默认密码。
1、访问MySQL官网 https://dev.mysql.com/downloads/mysql/ ,选择适用于macOS的DMG格式安装包,推荐下载8.0或5.7稳定版本。
2、下载完成后双击打开.dmg文件,再双击其中的.pkg安装程序。
3、在安装向导中点击“继续”,输入管理员密码授权,全程保持默认选项直至提示“安装成功”。
4、安装结束时弹出的对话框中会显示root用户的临时密码,请务必复制保存,该密码仅显示一次。
5、打开“系统偏好设置”,点击底部的MySQL图标,在界面中勾选“Automatically Start MySQL Server on Startup”,并点击“Start MySQL Server”启动服务。
二、使用Homebrew命令行安装MySQL
该方法适合熟悉终端操作的用户,可快速完成安装、启动与安全初始化,且便于后续版本管理与更新。
1、确保已安装Homebrew,若未安装,请先在终端执行:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"。
2、执行安装命令:brew install mysql。
3、启动MySQL服务:brew services start mysql。
4、运行安全配置脚本:mysql_secure_installation,按提示设置root密码、禁用匿名用户、删除test数据库、禁止远程root登录等。
5、验证安装是否生效:mysql -u root -p,输入刚设置的密码,出现mysql>提示符即表示成功。
三、配置环境变量使mysql命令全局可用
无论采用哪种安装方式,若终端中执行mysql提示command not found,说明/usr/local/mysql/bin未加入PATH,需手动配置环境变量。
1、确认Shell类型:在终端输入echo $SHELL,若输出为/bin/zsh(macOS Catalina及以后默认),则编辑~/.zshrc;若为/bin/bash,则编辑~/.bash_profile。
2、以zsh为例,执行:echo 'export PATH="/usr/local/mysql/bin:$PATH"' >> ~/.zshrc。
3、使配置立即生效:source ~/.zshrc。
4、验证是否生效:echo $PATH应包含/usr/local/mysql/bin,再执行mysql --version应返回版本信息。
四、修改root用户密码并启用标准认证方式
DMG安装默认启用caching_sha2_password插件,部分客户端(如Navicat旧版)不兼容,需切换为mysql_native_password并重设密码。
1、使用临时密码登录:mysql -u root -p,粘贴安装时生成的临时密码。
2、执行以下SQL语句切换认证方式并重置密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password';
3、刷新权限:FLUSH PRIVILEGES;
4、退出后重新登录验证:mysql -u root -p,输入新密码。
五、创建自定义配置文件my.cnf以支持UTF8MB4字符集
默认配置不启用utf8mb4,可能导致中文乱码或emoji存储失败,需手动创建并加载配置文件。
1、进入MySQL支持文件目录:cd /usr/local/mysql/support-files。
2、复制模板文件:sudo cp my-default.cnf /etc/my.cnf。
3、编辑该文件:sudo vim /etc/my.cnf,在[mysqld]段下添加:
default-storage-engine = INNODB
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
skip-character-set-client-handshake
4、保存退出后重启MySQL服务:sudo mysql.server restart。











