因誤修改權限或忘記密碼導致無法登入 MySQL(報錯 ERROR 1045 (28000): Access denied for user 'root'@'localhost' 或 Access denied; you need (at least one of) the SUPER privilege(s))。
cd /usr/local/mysql/bin/
sudo su
./mysqld_safe --skip-grant-tables &
MySQL 將以跳過權限檢查模式重啟。
root,密碼可留空)。% 允許任意 IP)。在 --skip-grant-tables 模式下登入後,亦可直接執行:
./mysqladmin -u root -p password '新密碼'
./mysql -u root -p
| 錯誤訊息 | 原因 | 處理方式 |
|---|---|---|
| ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) | root 權限不足或密碼錯誤 | 依上述步驟進入 skip-grant-tables 模式修復權限/密碼 |
| Access denied; you need (at least one of) the SUPER privilege(s) for this operation | 當前用戶缺乏 SUPER 權限 | 同樣需以 skip-grant-tables 模式授予 SUPER 權限 |
修改完畢,務必重啟 MySQL 服務(取消 --skip-grant-tables)使權限生效。