MySQL8的默认密码加密方式是caching_sha2_password
,PHP7.4连接mysql的加密方式也为caching_sha2_password
,这个地方要注意。
创新互联公司主要从事成都网站制作、成都网站建设、外贸营销网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务龙潭,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
当为了兼容旧版的客户端不只是PHP,还有在主从复制的时候也会有问题,mysql8的认证方式改回了mysql_native_password
。
如果使用PHP7.4的情况下,这里就会认证报错,因为7.4是caching_sha2_password
加密方式,因此这里我可以改用成PHP7.2;
不改配置的情况下,可以使用下面的方式更改mysql8的加密方式,为root用户更改密码:
USE mysql; ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; FLUSH PRIVILEGES;
新增安装php7.2;
apt-get install php7.2-fpm php7.2-mysql 等扩展;
把监听端口改成别的,nginx反向代理这个端口。
以上就是关于PHP7.4与MySQL8认证问题详解的详细内容,更多请关注创新互联其它相关文章!