mysql.user 權限表內容如下:
Host User Password
localhost xxw (空)
bogon root *81F5E21E...
localhost root *81F5E21E...
::1 root *81F5E21E...
% root *81F5E21E...
從 localhost 以 root 登入,密碼正確卻提示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
依限制範圍大小排序,限制越詳細排越前:
讀入記憶體後排序:
localhost xxw (空密碼)
localhost root *81F5E21E...
bogon root *81F5E21E...
::1 root *81F5E21E...
% root *81F5E21E...
連線資訊 root@localhost 依序匹配,命中第 2 筆(localhost + xxw),該筆密碼為空,但輸入了最後一筆的密碼,導致驗證失敗。MySQL 錯誤訊息誤導使用者以為匹配到最後一筆。
localhost/xxw 這筆空密碼記錄