为什么使用sudo时即使输入错误密码也可以使用mysql?

为什么使用sudo时即使输入错误密码也可以使用mysql?

如果我尝试登录 mysqlmysql -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

答案1

这可能是由于 root 用户使用的unix_socket身份验证方法。使用这种方法时不使用密码,只有与数据库用户匹配的操作系统用户才能登录。因此,只有操作系统用户root才能以数据库用户身份登录root。尽管它在命令行上接受密码,但它被忽略了。

查看MariaDB 知识库了解更多详细信息,包括(如果您真的想要/需要)如何更改为密码验证。

如果您use mysql;这样做select user, plugin from user;,您可以看到为哪些用户配置了哪些身份验证插件。

相关内容