php连接mysql数据库报错
使用PHP连接MySql数据库时,发现如下错误信息:
The server requested authentication method unknown to the client
原因
因为mysql8升级了密码的验证方式 caching_sha2_password, 之前一直是mysql_native_password方式,而php都升级到7.2+不支持caching_sha2_password。
解决方法
-
修改配置文件
windows:找到my.ini文件,Linux:找到my.cnf文件
然后在其中加入下面这一行配置
default_authentication_plugin=mysql_native_password
-
重启mysql
windows可以重启myslq服务,或者利用命令进行重启。停止命令:
net stop MySQL
启动命令:net start MySQL
-
然后执行下面的sql
use mysql; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; FLUSH PRIVILEGES;
其中
mysql_native_password BY 'root'
中的root,是新密码,可以自行设置。 -
重新登录mysql,php连接配置上新的密码,重新尝试连接。
php连接mysql数据库报错
https://www.zhaojun.inkhttps://www.zhaojun.ink/archives/php-connect-mysql