MariaDB默认root无密码直接登录的问题解决方法
-
在使用MariaDB时,会发现在修改了root密码后,即使不输入密码也能正常登录。
这是由于在MariaDB 10.4.3及更高版本中,默认情况下会安装unix_socket身份验证插件,并且root用户会使用它,正是由于这个插件的原因导致,在localhost下无密码可以直接登录。
网上的解决办法千篇一律,最靠谱的就是执行以下语句修改密码:
MariaDB [(none)]> ALTER USER root@localhost IDENTIFIED VIA mysql_native_password USING PASSWORD("你的密码");老版本用下面这个
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
其实官方文档中都写过这个问题了,如果你不想使用unix_socket身份验证插件,那么禁用掉它不就好了。
禁用unix_socket方法一:
修改my.cnf配置文件(10.6版本目录在/etc/mysql/my.cnf),将unix_socket参数设置为OFF禁用,即:
[mariadb] unix_socket=OFF
禁用unix_socket方法二:
作为替代方案,unix_socket选项也可以通过disable前缀配对设置为OFF,即:
[mariadb] disable_unix_socket
注:如果你my.cnf中使用的是[mariadb],就在该字段下面添加即可,如果使用的是[mysqld],就在[mysqld]字段下面添加。
推荐阅读
文章标签:
版权声明: 本文除特别说明外均由 麒麟在线 原创
本文链接: https://www.70ol.com/jishu/330.html,尊重共享,欢迎转载,请自觉添加本文链接,谢谢!
分享本文: 请填写您的分享代码。
呃 本文暂时没人评论 来添加一个吧
发表评论