麒麟在线

当前位置:网站首页 / 技术 / 正文

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,尊重共享,欢迎转载,请自觉添加本文链接,谢谢!

分享本文: 请填写您的分享代码。

呃 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。