mysql - 无法使用命令行安装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 地址的答案:。已经尝试过了,但仍然无法正常工作。
我不明白什么?
解决方案
mysql 8 开始使用与以前版本不同的身份验证方案。在一台机器上我遇到了这个问题,我更改了 my.cnf 中的变量,重新启动了服务器,我准备好了。
在您的 mysql 服务器配置文件中,查看此变量:“default_authentication_plugin”。
如果它说caching_sha2_password 然后将其更改为 mysql_native_password
这背后的原因是 php mysqli 驱动程序不支持caching_sha2_password。如果您不想更改配置,则必须等到驱动程序更新。
推荐阅读
- c# - IBMMQDotnetClient 使用 Windows 凭证而不是应用程序指定的凭证
- regex - 我正在寻找一个不允许连续超过星号的正则表达式
- android - Android:尽管有读/写权限,但无法列出文件
- jenkins - pmd 插件在 jenkins 中不可用
- java - 如何在 Java 中替换正则表达式命名捕获组的内容
- c - 忽略:我只是重命名了标题来尝试一下
- python - 为什么通过python中的过滤器时文件听起来很糟糕
- java - 如何存储和检索泛型类型
- spring-boot - org.hibernate.QueryException:在 [] 之前未索引 fromElement
- regex - 如何使用正则表达式替换子字符串中的特定字符?