在Ubuntu18.04上安装MariaDB后用root账号登录MariaDB没有输入密码的提示

最近,我在Ubuntu 18.04上测试了MariaDB数据库服务器,发现 在Ubuntu上安装 MariaDB数据库服务后,登录MariaDB不需要输入root用户的密码。 MariaDB作为MySQL的一个分支,每次登录MariaDB服务之前,都应该提示输入密码。而现在只需安装数据库即可提供root用户访问权限,而无需输入密码。

即使我运行命令

sudo mysql_secure_installation 

也不需要输入root帐户密码。但这样的话,所有依赖MariaDB数据库root密码进行身份验证的应用程序和服务都没法正常工作。例如 phpMyAdmin和MySQL Workbench 就没法正常工作。

Google之后,我发现现在MariaDB使用unix_socket插件进行身份验证,而不是密码。即使您设置了密码,也会将其忽略。要重新启用密码验证,请按照以下步骤操作:

1. 通过运行以下命令登录MariaDB服务器

sudo mysql -u root

注意,现在登录是不需要密码的。

2. 进入数据库服务器之后,运行以下命令以禁用root用户的插件身份验证

use mysql;
update user set plugin='' where User='root';
flush privileges;
exit

3. 重新启动并运行以下命令以设置新密码。

sudo systemctl restart mariadb.service 

4. 服务重启之后,运行以下命令登录MariaDB服务器并创建新的root密码。

sudo mysql_secure_installation
继续阅读“在Ubuntu18.04上安装MariaDB后用root账号登录MariaDB没有输入密码的提示”