mysql8认证方式不兼容的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql8认证方式不兼容的问题相关的知识,希望对你有一定的参考价值。

参考技术A 宝塔在mysql配置那里在最下面那一行插入:

然后用户需要重新创建才有效

[PHP] 新版本PHP7.4与新版本MySQL8认证问题

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反向代理这个端口

以上是关于mysql8认证方式不兼容的问题的主要内容,如果未能解决你的问题,请参考以下文章

mysql8.x开启远程登录

关于Client不能连接Mysql8.0的解决方法

HTTP - 摘要认证

前端学HTTP之摘要认证

基于 JWT + Refresh Token 的用户认证实践

什么是双因子认证?堡垒机都有哪些双因子认证方式?