首页 > 解决方案 > 无法使用命令行安装craft3。测试数据库凭据...失败:

问题描述

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

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 地址的答案:。已经尝试过了,但仍然无法正常工作。

我不明白什么?

标签: mysqlmysql-8.0laravel-valetcraftcms

解决方案


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

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

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

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


推荐阅读