Mysql

為什麼在使用sudo時輸入錯誤的密碼也能使用mysql?

  • October 26, 2022

如果我嘗試使用 mysql 登錄mysql -u root -p並輸入錯誤的密碼,則會收到“拒絕訪問”。

但是,如果我使用sudo mysql -u root -p並輸入了錯誤的 mysql 密碼,那麼我就可以訪問。

版本:mysql Ver 15.1 Distrib 10.3.25-MariaDB,用於 debian-linux-gnu (x86_64) 使用 readline 5.2

這可能是由於root使用者使用了unix_socket身份驗證的方法。使用這種方法沒有使用密碼,只有與數據庫使用者匹配的作業系統使用者才能登錄。所以只有root作業系統使用者才能以root數據庫使用者身份登錄。儘管它在命令行上接受密碼,但它被忽略了。

有關更多詳細資訊,請參閱MariaDB 知識庫,包括(如果您真的想要/需要)如何更改為密碼身份驗證。

如果您這樣做use mysql;select user, plugin from user;您可以查看為哪些使用者配置了哪些身份驗證外掛。

引用自:https://serverfault.com/questions/1114048