环境
- 微软视窗 10.0.16299.15
- PHP 7.2.11
- MySQL 社区服务器 8.0.13
- Symfony 4
我尝试连接到 MySQL 数据库。当我
php bin/console doctrine:database:create
, 我有这个:
驱动程序发生异常:SQLSTATE[HY000][2054] 服务器请求客户端未知的身份验证方法
PDO::_construct():服务器请求客户端未知的身份验证方法 [caching_sha2_password]
环境
我尝试连接到 MySQL 数据库。当我
php bin/console doctrine:database:create
, 我有这个:
驱动程序发生异常:SQLSTATE[HY000][2054] 服务器请求客户端未知的身份验证方法
PDO::_construct():服务器请求客户端未知的身份验证方法 [caching_sha2_password]
您可以查看升级到 MySQL 8.0:默认身份验证插件注意事项以获取有关升级到 8.0 的重要说明的信息,您将在其中找到:
在撰写本文时,以下连接器不支持caching_sha2_password。
- PHP mysqli 连接器
- GO mysql 连接器
- PERL DBD-mysql 连接器
如果您想了解更多信息,您可以在 MySQL 官方文档中查看caching_sha2_password 作为 Preferred Authentication Plugin 。
所以,我认为即将升级到 MySQL 8.0,您可以考虑降级或等待一段时间让 php mysql 扩展也升级。
我认为您使用的是 MySQL 8,默认的身份验证方法已更改,也许您需要更改服务器配置中的某些内容。
看这个链接:https ://github.com/laradock/laradock/issues/1392#issuecomment-368308494
您可以做的另一件事是降级您的 MySQL 版本。