关于PHP连接MySQL数据库连接问题
一、运行环境
PHP版本为7.2.34
MySQL版本为8.0.26
二、问题
运行过程中PHP think始终无法访问到MySQL服务,且报错500响应。
PHP直接连接SQL测试:
本地能正常访问数据库,think连接数据库不显示错误,PHP直接连接SQL调试报错
三、结论
研究发现,MySQL服务器使用了客户端不支持的认证方法。常见的原因是MySQL服务器升级到8.0版本后,默认的认证插件从
mysql_native_password变更为caching_sha2_password,而PHP客户端可能不支持caching_sha2_password。
四、解决方案
1、更改MySQL用户认证插件
登录MySQL后,将root用户的认证插件更改为mysql_native_password,root为数据库登录账号admin为登录密码:
重新运行PHP即可
2、更新PHP版本

浙公网安备 33010602011771号