macOS 上安裝 MySQL 有兩種主流方式:官方 DMG 安裝包與 Homebrew。DMG 安裝後常遇到 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock',排查耗時。本文推薦使用 Homebrew,步驟更可控、易維護。
在終端機執行官網提供的安裝指令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安裝完成後執行 brew doctor 檢查環境。
brew install mysql
等待編譯完成(視網速與機能約 5-15 分鐘)。
若直接 mysql -u root -p 仍報 socket 錯誤,請依序執行:
unset TMPDIR
mysql_install_db --verbose --user=$(whoami) --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
brew services start mysql
或手動啟動:mysql.server start
mysql -u root -p
# 輸入密碼(初次為空,直接 Enter)
mkdir -p ~/Library/LaunchAgents
cp /usr/local/Cellar/mysql/$(mysql --version | awk '{print $3}')/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
注意:版本號請用 mysql --version 確認,勿硬編碼。
mysql_config --socket 查看實際路徑,若客戶端預設找 /tmp/mysql.sock,可建立軟連結 ln -s /usr/local/var/mysql/mysql.sock /tmp/mysql.sock。/usr/local/var/mysql 屬於當前用戶 chown -R $(whoami) /usr/local/var/mysql。brew services stop mysql 後 brew link --force mysql@5.7 切換。brew services stop mysql
brew uninstall mysql
rm -rf /usr/local/var/mysql
rm -rf /usr/local/etc/my.cnf
# 重新安裝
Homebrew 方式將配置檔集中在/usr/local/etc/my.cnf,日誌在/usr/local/var/log/mysql,便於統一管理與備份。