PHP7.4与MySQL8认证问题如何详细解决?

更新于
2026-09-29 03:46:26
3阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计300个文字,预计阅读时间需要2分钟。

PHP7.4与MySQL8认证问题如何详细解决?

MySQL 8+ 的默认密码加密方式是 `caching_sha2_password`,PHP 7.4 连接 MySQL 时的加密方式也是 `caching_sha2_password`。注意,此方式与旧版兼容性有关。

mysql8的默认密码加密方式是caching_sha2_password,PHP7.4连接mysql的加密方式也为caching_sha2_password,这个地方要注意。

当为了兼容旧版的客户端不只是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反向代理这个端口。

阅读全文

本文共计300个文字,预计阅读时间需要2分钟。

PHP7.4与MySQL8认证问题如何详细解决?

MySQL 8+ 的默认密码加密方式是 `caching_sha2_password`,PHP 7.4 连接 MySQL 时的加密方式也是 `caching_sha2_password`。注意,此方式与旧版兼容性有关。

mysql8的默认密码加密方式是caching_sha2_password,PHP7.4连接mysql的加密方式也为caching_sha2_password,这个地方要注意。

当为了兼容旧版的客户端不只是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反向代理这个端口。

阅读全文