Mariadb数据库修改完密码还能使用空密码登录问题

既然能找到这篇文章相信您对数据就有了一定的了解,我也不在赘述这个数据库的基础相关知识了,在这里指针对“数据库修改完密码并执行flush privileges命令后还可以空密码登录”的问题做出一点点解释。

我安装mariadb数据库的时候,默认密码是空密码。为了安全着想就行着设置一个强密。

复现问题

mariaDB版本:10.0.36

1、设置密码

update user set password=password(“密码”) where user=”root”;

mariadb数据库部分版本修改登录密码后仍能空密码登录问题
查看一下设置后的密码

mariadb数据库部分版本修改登录密码后仍能空密码登录问题
可以看到,密码设置已经完成,并且我们也执行了flush privileges命令进行刷新。注意,有的朋友在修改完密码后,没有执行这条命令也同样会造成下次登录会使用旧密码(大众答案,但是解决不了我的问题)。

2、退出重新登录

重新登录数据库,

mysql -u root -p 或mysql命令

mariadb数据库部分版本修改登录密码后仍能空密码登录问题
看到,没有使用密码就可以登录数据库,刚才设置的密码什么用没有。这是为什么?也是查了很多资料,才想到可能是数据库版本问题。

3、搞定问题

从5.5.7版本中mysql数据库中就开始引入plugin这项配置,用来进行用户密码验证,同时mariaDB安装的默认插件是'console'或'unix_socket',这个插件允许你在没有密码的情况下从控制台输入可以登录,禁用密码验证。并且您无法从其他客户端连接
在数据库mysql中执行

select user,password,plugins from user;

mariadb数据库部分版本修改登录密码后仍能空密码登录问题
解决此问题很简单,只需要让Plugin变为空就可以了。

update user set plugin='' where user='root'

mariadb数据库部分版本修改登录密码后仍能空密码登录问题
再次登录就会让输入密码啦!!!