前言
PHP连接 MySQL 8 报错:The server requested authentication method unknown to the client
原因
- MySQL 8 的密码验证插件由之前的
mysql_native_password变为了caching_sha2_password,导致PHP不支持
解决问题
- 将密码验证插件改回
mysql_native_password
1 2
| USE mysql; UPDATE user SET plugin='mysql_native_password' WHERE user='root';
|
查看密码验证方式
1
| SELECT host,user,plugin FROM user;
|
完成
后记
- 修改完密码验证插件
mysql_native_password后,虽然可以使用mysqli_connect()函数连接数据库,但是报密码出错(我使用了正确的密码),同时直接用密码登录mysql客户端也报错,最终放弃了,费了九牛二虎之力才把无法登录客户端的mysql修改了密码
后来的解决方案
- 从原本的PHP7改为使用高版本PHP8问题就解决了
参考文献
简书——囧囧的猪
CSDN——codingXT