无法再以 root 身份登录 MySQL?

Ale*_*lex 8 mysql mariadb 15.04

看起来我无法在 Ubuntu 15.04 中以 root 用户身份登录 MySQL(实际上是 MariaDB)(我从 14.04 升级到 14.10)

我已经尝试重置密码。

什么工作,是sudo mysql-但我使用要以root登录,从其他用户mysql -uroot -p。当我创建一个具有完全权限和密码的新用户时,它正在工作。

有什么改变吗?

Oli*_*Oli 6

所以你已经从版本5.5.44-1ubuntu0.14.04.110.0.20-0ubuntu0.15.04.1. 听起来比实际更可怕,出于某种原因,这就是他们所说的 5.6

似乎较新版本的 MariaDB 在用户表中添加了一个插件,以通过固定路径强制进行身份验证。在这种情况下,root数据库的用户是通过强制unix_socket插件。这auth_socket在某些圈子里似乎也是众所周知的。

无论如何,这个插件限制了一些事情,所以只有系统root用户可以作为数据库登录root,没有密码。这是他们做出的安全选择。

您可以通过root用户清空插件字段来恢复:

shell$ sudo mysql -u root

[mysql] use mysql;
[mysql] update user set plugin='' where User='root';
[mysql] flush privileges;
Run Code Online (Sandbox Code Playgroud)

在此之后,指定的密码应该可以工作。我不确定这有多可取。

  • 没有为我工作。在此之后,我什至无法再使用“sudo mysql -u root”登录。 (4认同)