MariaDB 安装后不需要密码就可以登录 root 账户,随便输入密码也可以登录,使用各种方法修改密码或者设置密码之后仍然不需要密码就能登录,怎么回事呢?

查看 plugin

MariaDB [(none)]> select user, plugin from mysql.user;
+------+-------------+
| user | plugin      |
+------+-------------+
| root | unix_socket |
+------+-------------+
1 row in set (0.00 sec)

是 plugin unix_socket 导致无需密码,修改即可。

MariaDB root 账户默认使用了 UNIX_SOCKET 插件,只允许 root 用户连接,无需密码。可以使用 root 用户连接后创建新用户或者执行: 

update mysql.user set plugin = '' where User='root';
flush privileges;
// or
update mysql.user set plugin = 'mysql_native_password' where User='root';
flush privileges;

问题解决。

09-15 14:49