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

5 mysql homebrew laravel sequelpro

我正在研究macOS ver 10.13.5--实际上是最新的.

我经常使用Laravel项目(5.6),因此我使用brew服务isntaller来使本地环境工作.

我在v.2.0.12中使用PHP v 7.1.16,MySQL 8.0.11和Valet

通过Brew安装PHP和MySQL .

我过去3个月一直没有任何问题,但是当我不得不重新安装我的操作系统的那一天终于来了.

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

这是一些日志:

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

这很奇怪,因为我一直在使用相同的东西,没有任何问题......

所以我很感激有关如何处理这个问题的任何建议.另外我还想注意,我几乎已经阅读了关于这个问题的所有内容,但是我无法找到至少一个像我这样的配置(大多数人都在使用mysql提供的本地数据库时描述了这个问题)其他一些服务提供商).

Ash*_*y B 16

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

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

mysql -uroot

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

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

最后,刷新权限:

FLUSH PRIVILEGES;

现在您应该能够再次使用SequelPro进行连接(使用指定的密码).