macOS 上通過官方 DMG 安裝 MySQL 是最省心的方式,但首次啟動的臨時密碼機制、偏好設置面板管理、以及徹底卸載的殘留文件清理,是新手最易踩坑的三個環節。本文提供圖文級操作指引。
mysql-5.7.11-macos10.12-x86_64.dmg,依次打開內部 mysql-5.7.11-macos10.12-x86_64.pkg 安裝。XyZ#9aBc),務必截圖或抄錄。若錯過,可在「系統偏好設置 → 通知」或 /var/log/install.log 查找。
# 1. 進入二進制目錄
cd /usr/local/mysql/bin/
# 2. 使用 mysqladmin 修改密碼(會提示輸入臨時密碼)
./mysqladmin -u root -p password
# Enter password: [輸入臨時密碼]
# New password: [輸入新密碼]
# Confirm new password: [再次輸入]
# 提示 "Since password will be sent to server in plain text..." 即成功
# 3. 驗證新密碼登入
./mysql -u root -p
# Enter password: [輸入新密碼]
mysql> SELECT VERSION(), CURRENT_USER();
執行前請備份數據目錄 /usr/local/mysql/data!
# 1. 停止服務
sudo /usr/local/mysql/support-files/mysql.server stop
# 2. 刪除核心文件
sudo rm /usr/local/mysql # 符號鏈接
sudo rm -rf /usr/local/mysql* # 版本目錄與符號鏈接
sudo rm -rf /Library/StartupItems/MySQLCOM # 啟動項
sudo rm -rf /Library/PreferencePanes/My* # 偏好設置面板
rm -rf ~/Library/PreferencePanes/My* # 用戶級偏好設置
# 3. 刪除包管理記錄
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.*
# 4. 編輯宿主配置(如存在)
sudo vim /etc/hostconfig
# 刪除或註釋:MYSQLCOM=-YES-
# 5. 檢查 /usr/local 殘留
ls -la /usr/local/ | grep -i mysql
# 若有 mysql-x.x.x 目錄或 mysql 符號鏈接,全部 rm -rf
| 現象 | 原因 | 解決 |
|---|---|---|
| 偏好設置無 MySQL 圖標 | 安裝包未註冊 PreferencePane | 重新安裝或手動 open /Library/PreferencePanes/MySQL.prefPane |
| 啟動報 "The data directory is not writable" | data 目錄屬主非 _mysql | sudo chown -R _mysql:_mysql /usr/local/mysql/data |
| 連接報 "Can't connect to local MySQL server through socket" | socket 路徑不匹配 | ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock 或指定 --socket |
| M1/M2 晶片報 "Bad CPU type" | 5.7.11 僅支持 x86_64 | 改用 MySQL 8.0+ 原生 ARM 版或 Docker 運行 |
/usr/local/mysql-5.7.11-macos10.12-x86_64//usr/local/mysql/ → 上述目錄/usr/local/mysql/data//usr/local/mysql/my.cnf(若無可從 support-files/my-default.cnf 複製)/usr/local/mysql/data/*.err/usr/local/mysql/support-files/mysql.server掌握 DMG 安裝、臨時密碼處理、徹底卸載三板斧,macOS 上的 MySQL 環境管理將不再是攔路虎。建議將卸載腳本保存為 uninstall_mysql.sh 納入運行手冊,需要時一鍵執行。