PHP无法连接MySQL8.0数据库问题处理报错如下:SQLSTATE[HY][]Theserverrequestedauthenticationmethodunknowntotheclient
发生这种错误,是由于MySQL8默认使用了新的密码验证插件:caching_sha2_password,而之前的PHP版本中所带的mysqlnd无法支持这种验证。解决这个问题,有两种办法。
解决方法一:升级PHP支持MySQL8的新验证插件。PHP7.2.8和PHP7.1.20已经可以支持caching_sha2_password,直接连接MySQL8。截止PHP7.0.31和PHP5.6.37还无法支持caching_sha2_password,不知道后续版本是否会做出支持。可以通过phpinfo()函数了解当前安装的PHP是否支持caching_sha2_password:
参考: