MySQL 8.0 请求的客户端未知的身份验证方法 (caching_sha2_password)
Posted
技术标签:
【中文标题】MySQL 8.0 请求的客户端未知的身份验证方法 (caching_sha2_password)【英文标题】:MySQL 8.0 Requested authentication method unknown to the client (caching_sha2_password) 【发布时间】:2019-04-24 09:02:04 【问题描述】:环境
微软视窗 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]
【问题讨论】:
PHP with MySQL 8.0+ error: The server requested authentication method unknown to the client的可能重复 【参考方案1】:您可以查看Upgrading to MySQL 8.0 : Default Authentication Plugin Considerations 以获取有关升级到 8.0 的重要说明的信息,您可以在其中找到:
在撰写本文时,以下连接器不支持caching_sha2_password。
PHP mysqli connector GO mysql 连接器 PERL DBD-mysql 连接器
如果您想了解更多信息,可以查看 MySQL 官方文档中的caching_sha2_password as the Preferred Authentication Plugin。
所以,我认为即将升级到 MySQL 8.0,您可以考虑降级或等待一段时间让 php mysql 扩展也升级。
【讨论】:
我在“认证方式”和“使用旧的认证方式(保留mysql(X.兼容性))”中重新配置了 这种方法似乎对我不起作用(尽管它应该符合我的理解)。所以我不得不通过 Oracle 安装程序重新安装 MySQL 服务器并检查“使用旧身份验证方法”(我想像 @Phil31971)。【参考方案2】:我认为您使用的是 MySQL 8,默认的身份验证方法已更改,也许您需要更改服务器配置中的某些内容。
看这个链接:https://github.com/laradock/laradock/issues/1392#issuecomment-368308494
您可以做的另一件事是降级您的 MySQL 版本。
【讨论】:
感谢您的快速回答,但我使用的是 symfony 4,我稍后会尝试降级 mysql!以上是关于MySQL 8.0 请求的客户端未知的身份验证方法 (caching_sha2_password)的主要内容,如果未能解决你的问题,请参考以下文章
PHP与MySQL 8.0+错误:服务器请求客户端未知的身份验证方法[重复]
PHP,MySQL返回“连接失败:服务器请求客户端未知的身份验证方法” [重复]
MYSQL 8.0 - 客户端不支持服务器请求的身份验证协议
xampp phpmyadmin #2054 - 服务器请求客户端未知的身份验证方法