Ubuntu 20.04 Mysql8 继续接受 root 的空密码/任何密码

Ubuntu 20.04 Mysql8 继续接受 root 的空密码/任何密码

在 ubuntu20 上安装“mysql-server”并运行“mysql_secure_installation”并设置密码后,系统仍然无法正确验证,并且仍然通过 linux root 用户接受 mysql root 用户的任何/空白密码,而其他 linux 用户则不接受任何密码。

答案1

因此,基本上默认情况下,Mysql 现在(在大多数发行版中,如 Ubuntu/Debian)使用“caching_sha2_password”插件进行用户身份验证,使用“auth_socket”插件进行“root”用户身份验证。以前它使用“mysql_native_password”。

“auth_socket”插件不需要设置任何密码,而是使用操作系统凭据并选择操作系统登录的用户名,并将连接用户验证为具有相同用户名的 Mysql 帐户,即 root -> root。因此,您不需要为 mysql root 用户设置任何密码。

您可以执行以下命令来检查/更改用户当前的身份验证插件。

select User,Host,Plugin from mysql.user;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxxx';

相关内容