转 PHP错误:SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
亲测有效 20200408
我用的是不升级PHP的方法,可以在MySQL 8中创建(或修改)使用caching_sha2_password插件的账户,使之使用mysql_native_password,这样先前版本的PHP就可以连接使用了。
https://blog.csdn.net/xiaoxinshuaiga/article/details/82798919
挺住我先走最后发布于2018-09-21 11:21:53阅读数 14600收藏
展开
使用PHP连接MySQL 8的时候,可能会发生如标题所示的错误:
SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
发生这种错误,是由于MySQL 8默认使用了新的密码验证插件:caching_sha2_password,而之前的PHP版本中所带的mysqlnd无法支持这种验证。解决这个问题,有两种办法。
一种办法是升级PHP支持MySQL 8的新验证插件。
PHP 7.2.8和PHP 7.1.20已经可以支持caching_sha2_password,直接连接MySQL 8。
截止PHP 7.0.31和PHP 5.6.37还无法支持caching_sha2_password,不知道后续版本是否会做出支持。
可以通过phpinfo()函数了解当前安装的PHP是否支持caching_sha2_password:
如果不能升级PHP,可以在MySQL 8中创建(或修改)使用caching_sha2_password插件的账户,使之使用mysql_native_password,这样先前版本的PHP就可以连接使用了。 ...
浏览更多内容请先登录。
立即注册
分享的网址网站均收集自搜索引擎以及互联网,非查问网运营,查问网并没有提供其服务,请勿利用其做侵权以及违规行为。
更新于:2021-12-12 15:28:05
相关内容
Centos7利用yum安装apache+mysql8+php7 一篇搞定!
Centos中查看nginx、apache、php、mysql配置文件路径
php报错 Error: Variable 'sql_mode' can't be set to the value of 'M...
PHP报错:Constants may only evaluate to scalar values
推荐内容