如果我尝试登录 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;
,您可以看到为哪些用户配置了哪些身份验证插件。