无法再以root用户身份登录MySQL?

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

我已经尝试重置密码了。

什么工作,是sudo mysql – 但我想使用mysql -uroot -p从其他用户以root身份登录。 当我创建具有完整权限和密码的新用户时,它正在运行。

有什么改变了吗?

所以你已经从版本5.5.44-1ubuntu0.14.04.1变为10.0.20-0ubuntu0.15.04.1 。 听起来比现在更可怕,这就是他们出于某种原因所谓的5.6 。

似乎较新版本的MariaDB已向用户表添加了一个插件,以强制通过固定路径进行身份validation。 在这种情况下,强制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; 

在此之后,指定的密码应该有效。 我不确定这是多么可取。