我在Ubuntu 16.04.2 LTS上使用mysql 5.7.20-0ubuntu0.16.04.1。
默认情况下,它有mysh.plugin设置的auth_socket,我将其更改为mysql_native_password。但有时它会重置为默认的auth_socket设置,我不明白原因,是什么导致这种变化? 在问题出现之前我没有更新mysql。
答案 0 :(得分:1)
也许您应该尝试--default-authentication-plugin
选项。
People in comments here(尽管问题与你的不同)报告了mysql包(自动)更新过程旁边发生的相同魔术;所以问题来源似乎是在更新脚本中,用内部默认值覆盖mysql.user.plugin
。
P.S。请记住,设置权限的正确方法是发布ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'somepass';
。这比使用“低级”UPDATE mysql.User ... SET plugin = ...; FLUSH PRIVILEGES;
更好,但我相信你已经熟悉这两种方法了。