我正在研究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
这很奇怪,因为我在相当长的一段时间里没有任何问题地使用相同的东西...
所以我很欣赏有关如何处理这个问题的任何建议。 另外我还想注意,我几乎已经阅读了关于这个问题的所有内容,但是我无法找到至少一个像我这样的配置(他们中的大多数人在使用时都描述了这个问题)本地数据库由mysql或其他一些服务提供商提供)。
答案 0 :(得分:16)
出现错误消息是因为MySQL v8更改了默认的身份验证插件/方法,该插件与旧客户端没有向后兼容性。 可以使用遗留身份验证方法解决此错误,可以通过执行以下操作为root用户启用该方法:
安装MySQL后,使用CLI进行身份验证,例如
mysql -uroot
然后运行以下命令以使用旧的身份验证方法:
ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
最后,刷新权限:
FLUSH PRIVILEGES;
现在您应该可以再次使用SequelPro进行连接(使用指定的密码)。