更新后,没有密码的 MySQL 根用户(在本地开发上)停止允许访问

更新后,没有密码的 MySQL 根用户(在本地开发上)停止允许访问

我在仅主机网络中的笔记本电脑上的虚拟机上运行 MySQL(除非我打开 NAT 接口来更新操作系统,否则无法访问更广泛的互联网)。为方便起见,我使用没有密码的 root 用户。我有许多项目都设置为在我的开发环境中以这种方式访问​​数据库。

我刚刚做了一个apt-get upgrade,其中包括将 MySQL 更新到 5.7.18(我正在运行 Ubuntu 16.04.2 LTS),现在我的所有项目都被拒绝访问。我不确定更新之前 MySQL 是哪个版本。

从控制台来看,mysql --user=root如果我以 root 身份登录,则可以毫无问题地进行操作,但如果以其他任何人的身份登录,则不会出现问题。

有人能帮助确定更新后发生了什么变化,以及如何配置 MySQL 以再次允许 root 用户无需密码访问?

答案1

我不确定更新是否改变了 root@localhost 的插件,或者插件是否保持不变而 MySQL 的行为发生了变化,但我通过使用mysql_native_password以下 SQL 将 root@localhost 的插件更改为解决了这个问题:

UPDATE user SET plugin='mysql_native_password' WHERE user='root' AND host='localhost';
FLUSH PRIVILEGES;

相关内容