0

在命令行上创建项目并完成设置后,我得到

Testing database credentials ... failed: SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client

我正在使用 mysql8,使用 laravel 代客,使用 mysql 创建了一个数据库。

已找到建议使用 127.0.0.1 而不是 localhost 作为数据库服务器名称或 IP 地址的答案:。已经尝试过了,但仍然无法正常工作。

我不明白什么?

4

1 回答 1

1

mysql 8 开始使用与以前版本不同的身份验证方案。在一台机器上我遇到了这个问题,我更改了 my.cnf 中的变量,重新启动了服务器,我准备好了。

在您的 mysql 服务器配置文件中,查看此变量:“default_authentication_plugin”。

如果它说caching_sha2_password 然后将其更改为 mysql_native_password

这背后的原因是 php mysqli 驱动程序不支持caching_sha2_password。如果您不想更改配置,则必须等到驱动程序更新。

于 2019-08-14T20:02:13.437 回答