macOS 上安裝 MySQL 主流有兩條路徑:官方 DMG 安裝包(圖形化、自帶啟動項)和 Homebrew 包管理器(命令行、版本切換靈活)。本文覆蓋兩種方式全流程、配置文件位置、字符集設置、服務管理與驗證。
https://dev.mysql.com/downloads/mysql/ → macOS 10.x (x86, 64-bit), DMG Archivemysql-8.0.x-macos10.x-x86_64.dmg,依次安裝:mysql-8.0.x.pkg、MySQLStartupItem.pkg(可選、開機自啟)、MySQLPreferencePane.prefPane(系統偏好設置面板)brew update
brew install mysql@5.7 # 或 mysql@8.0
# 安裝後提示關鍵信息:
# 1. 數據目錄:/usr/local/var/mysql
# 2. 配置文件:/usr/local/etc/my.cnf
# 3. 啟動服務:brew services start mysql@5.7
# 4. 臨時密碼:無(5.7 initialize-insecure)或日誌中(8.0)
# 切換版本
brew unlink mysql@5.7 && brew link mysql@8.0 --force
/usr/local/mysql/my.cnf 或 /etc/my.cnf(優先級較高)/usr/local/etc/my.cnf[mysqld]
basedir=/usr/local/mysql # DMG 路徑
datadir=/usr/local/mysql/data
port=3306
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
default-storage-engine=INNODB
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
| 操作 | DMG / 系統偏好設置 | Homebrew | 通用 (launchctl) |
|---|---|---|---|
| 啟動 | 偏好設置面板點擊 Start | brew services start mysql@5.7 | sudo launchctl load -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist |
| 停止 | 偏好設置面板點擊 Stop | brew services stop mysql@5.7 | sudo launchctl unload /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist |
| 重啟 | Stop → Start | brew services restart mysql@5.7 | unload → load |
| 狀態 | 面板顯示 | brew services list | launchctl list | grep mysql |
# 連接測試
mysql -uroot -p
# 輸入臨時密碼(DMG)或直接回車(Homebrew 5.7 insecure)
# 修改密碼 (5.7)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!';
FLUSH PRIVILEGES;
# 修改密碼 (8.0)
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'NewPass123!';
FLUSH PRIVILEGES;
# 驗證字符集
SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';
| 現象 | 原因 | 解決 |
|---|---|---|
| ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' | 服務未啟動、socket 路徑不一致 | 啟動服務、my.cnf 指定 socket=/tmp/mysql.sock、client 同步指定 |
| Public Key Retrieval is not allowed | 8.0 默認 caching_sha2_password 需 SSL 或公鑰 | 連接串加 allowPublicKeyRetrieval=true&useSSL=false 或用戶改用 mysql_native_password |
| brew link 失敗 | 版本衝突 | brew unlink mysql@5.7 && brew link mysql@8.0 --force |
macOS 安裝 MySQL:新手選 DMG 圖形化、開發者選 Homebrew 版本管理。關鍵動作:保存臨時密碼、配置 utf8mb4、啟動服務、修改 root 密碼、驗證字符集。M1/M2 晶片 Mac 運行 x86 版 MySQL 通過 Rosetta 2 兼容,性能基本無損;原生 ARM 版 MySQL 8.0.30+ 已支持,Homebrew 可直接安裝。