无法再以 root 身份登录 MySQL 吗?

无法再以 root 身份登录 MySQL 吗?

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

我已尝试重置密码。

什么可以正常工作sudo mysql- 但我想使用 以其他用户身份登录mysql -uroot -p。当我创建具有完全权限和密码的新用户时,它可以正常工作。

有什么改变了吗?

答案1

所以你已经走了从版本5.5.44-1ubuntu0.14.04.110.0.20-0ubuntu0.15.04.1。听起来比实际更可怕,那只是出于某种原因他们称之为 5.6

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

无论如何,这个插件会限制只有系统root用户可以以数据库身份登录root,无需密码。这是他们做出的安全选择。

您可以通过以下方式恢复root为用户清空插件字段

shell$ sudo mysql -u root

[mysql] use mysql;
[mysql] update user set plugin='' where User='root';
[mysql] flush privileges;

此后,指定的密码应该有效。但我不确定这是否可取。

相关内容