當 MySQL 啟動或重新載入授權表時,若在 user 表中發現非法密碼的帳號,會輸出類似 Found wrong password for user 'some_user'@'some_host'; ignoring user 的警告,並直接忽略該帳號。以下為四大常見成因及解決方案:
執行 mysqlshow mysql user 檢查 Password 欄位長度是否短於 16 字元。若是,請執行 /add_long_password 腳本修正。
--old-protocol兩種解法:
user 表,將帳號密碼改為新格式--old-protocol 參數重啟 MySQLdPASSWORD() 函數設定密碼必須使用 PASSWORD() 函數更新密碼:
UPDATE user SET Password=PASSWORD('newpwd')
WHERE User='some_user' AND Host='some_host';
完成後記得執行 FLUSH PRIVILEGES; 重新載入權限。
若上述方法無效,請檢查該帳號的 Password 欄位是否為空值、亂碼或長度異常,必要時刪除該帳號重建。