连接到 MySQL 数据库时出现身份验证插件错误

Authentication plugin error while connecting to MySQL database

我正在使用 macOS 版本 10.13.5 - 实际上是最新的。

我通常使用 Laravel 个项目 (5.6),因此我使用 brew services isntaller 来使本地环境正常工作。

我正在使用 PHP v 7.1.16、MySQL 8.0.11 和 Valet v. 2.0.12

PHP 和 MySQL 通过 Brew.

安装

过去 3 个月我一直没有任何问题地工作,但我不得不重新安装 os 的那一天终于来了。

使用新副本重新安装 macOS 并安装与之前相同版本的每个服务后,我在尝试连接到 MySQL 数据库时遇到一些奇怪的错误SequelPro.

这是一些日志:

MySQL said: Authentication plugin 'caching_sha2_password' cannot be 
loaded: dlopen(/usr/local/lib/plugin/caching_sha2_password.so, 2): image 
not found

这很奇怪,因为我已经使用相同的东西很长时间了,没有任何问题...

因此,对于如何处理此问题的任何建议,我将不胜感激。 另外我想注意到我已经阅读了 almost 关于这个问题的所有内容,但是我无法找到至少一个具有像我这样的配置的(其中 most 描述了这个问题是在使用 mysql 或其他服务提供商提供的本地数据库时出现的。

出现错误消息是因为MySQL v8 更改了默认的身份验证插件/方法,它与旧客户端没有向后兼容性。 可以使用旧的身份验证方法解决该错误,可以通过执行以下操作为 root 用户启用该方法:

安装 MySQL 后,使用 CLI 进行身份验证,例如

mysql -uroot

然后运行以下命令使用旧的身份验证方法:

ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY 'PASSWORD';

最后,刷新权限:

FLUSH PRIVILEGES;

现在您应该可以再次使用 SequelPro 进行连接(使用指定的密码)。