您的位置 首页 MySql

mysql – MariaDB – 无法以root用户身份登录

我试图在Ubuntu(16.04.02)上设置MariaDB(10.0.29).在我安装它并启动进程(sudo service mysql start)之后,即使我最初将密码设置为空白,也无法以root身份登录.

即mysql -u root将拒绝我访问.我通过sudo mysql登录并检查了用户表,即.从mysql.user中选择user,password,authentication_string并按预期方式:

+---------+----------+-----------------------+ 
| User    | password | authentication_string |
+---------+----------+-----------------------+
| root    |          |                       |
+---------+----------+-----------------------+

我还创建了一个新用户,即.创建用户’test’@’localhost’标识”;当我尝试做mysql -u test(空密码)时,它按预期工作并登录我.

用户表如下所示:

+---------+----------+-----------------------+
| User    | password | authentication_string |
+---------+----------+-----------------------+
| root    |          |                       |
| test    |          |                       |
+---------+----------+-----------------------+

所以,任何人都可以告诉我为什么我不能以root密码登录,但我可以登录为测试?
最佳答案
与本机MariaDB软件包(由MariaDB本身提供的软件包)不同,Ubuntu生成的软件包默认为本地root用户进行unix_socket认证.检查,运行

SELECT user,host,plugin FROM mysql.user;

如果你在插件列中看到unix_socket,那就是原因.

要返回通常的密码验证,请运行

UPDATE mysql.user SET plugin = '' WHERE plugin = 'unix_socket';
FLUSH PRIVILEGES;

(选择适合您目的的WHERE子句,上面只是一个例子)

关于作者: dawei

【声明】:金华站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

热门文章