# 官方安裝包 sudo /usr/local/mysql/support-files/mysql.server stop # Homebrew brew services stop mysql
cd /usr/local/mysql/bin sudo su ./mysqld_safe --skip-grant-tables & # 等待啟動完成,保持終端或新開標籤頁
# 新終端 alias mysql=/usr/local/mysql/bin/mysql # 臨時別名,避免輸入全路徑 mysql -u root # 進入 mysql 系統庫 USE mysql; # 關鍵:skip-grant-tables 下必須先刷新權限,否後 UPDATE 不生效 FLUSH PRIVILEGES; # 修改密碼(5.7/8.0 語法) ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongP@ss123'; -- 或指定插件 ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY 'NewStrongP@ss123'; FLUSH PRIVILEGES; EXIT;
# 關閉 skip-grant-tables 進程 # 正常啟動 sudo /usr/local/mysql/support-files/mysql.server start # 驗證 mysql -u root -p # 輸入新密碼
mysqladmin -u root -p password 'NewP@ss123' # 提示輸入舊密碼,完成修改
# 加入 ~/.zshrc 或 ~/.bash_profile echo 'alias mysql=/usr/local/mysql/bin/mysql' >> ~/.zshrc echo 'alias mysqladmin=/usr/local/mysql/bin/mysqladmin' >> ~/.zshrc source ~/.zshrc # 之後直接用 mysql、mysqladmin 即可
# skip-grant-tables 模式下 mysql -u root USE mysql; UPDATE user SET authentication_string='' WHERE User='root'; FLUSH PRIVILEGES; EXIT; # 正常啟動後 mysql -u root ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewP@ss123';
| 項目 | Intel (官方包) | Apple Silicon (Homebrew) |
|---|---|---|
| 安裝路徑 | /usr/local/mysql/ | /opt/homebrew/opt/mysql/ |
| bin 目錄 | /usr/local/mysql/bin/ | /opt/homebrew/opt/mysql/bin/ |
| data 目錄 | /usr/local/mysql/data/ | /opt/homebrew/var/mysql/ |
| 服務腳本 | /usr/local/mysql/support-files/mysql.server | brew services mysql |
| 啟動 skip-grant | sudo ./mysqld_safe --skip-grant-tables & | sudo /opt/homebrew/opt/mysql/bin/mysqld_safe --skip-grant-tables & |
SELECT User, Host FROM mysql.user WHERE User='root'; 針對性修改macOS 上 MySQL 密碼重置,**核心三步:停服務 → skip-grant-tables → FLUSH PRIVILEGES + ALTER USER → 重啟驗證**。配合別名簡化路徑,標準化操作,一次成功。