首页 > 数据库 >PHP无法连接MySQL8.0数据库问题处理 报错如下: SQLSTATE[HY000]

PHP无法连接MySQL8.0数据库问题处理 报错如下: SQLSTATE[HY000]

时间:2024-03-20 11:14:20浏览次数:33  
标签:sha2 PHP HY000 密码 SQLSTATE 报错 支持 caching password

PHP无法连接MySQL8.0数据库问题处理
报错如下:
SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client

发生这种错误,是由于MySQL8默认使用了新的密码验证插件:caching_sha2_password,而之前的PHP版本中所带的mysqlnd无法支持这种验证。解决这个问题,有两种办法。

解决方法一:
升级PHP支持MySQL 8的新验证插件。
PHP 7.2.8和PHP 7.1.20已经可以支持caching_sha2_password,直接连接MySQL 8。
截止PHP 7.0.31和PHP 5.6.37还无法支持caching_sha2_password,不知道后续版本是否会做出支持。
可以通过phpinfo()函数了解当前安装的PHP是否支持caching_sha2_password:

解决方法二:
1. 在/etc/my.cnf配置文件中,添加如下行
default-authentication-plugin=mysql_native_password

2.登陆MySQL
ALTER USER ‘xxxxx’@‘%’ IDENTIFIED WITH mysql_native_password BY ‘new_password’;

3.重启数据库
systemctl restart mysqld

不过,还是强烈建议采用新的插件,因为它更安全,性能也更高。
其他的几个新密码策略主要有:
支持密码过期策略,需要周期性修改密码
增加历史密码检测机制,防止总是几个密码反复重用
需要提供旧密码才能修改新密码,防止被篡改
支持双密码机制,可以选择采用主密码还是第二密码连接,安全性更高
增加密码强度约束,避免使用弱密码

 

标签:sha2,PHP,HY000,密码,SQLSTATE,报错,支持,caching,password
From: https://www.cnblogs.com/shukuinfo/p/18084793

相关文章

  • 240_@Override报错解决
    错误提示:@Overrideisnotallowedwhenimplementinginterfacemethod解决:修改模块编译检查时最低要求的JDK版本为JDK8......
  • 330_若依系统头像报错
    运行报错:clientBuilder.sslSocketFactory(SSLSocketFactory)notsupportedonJDK9+参考文档:https://www.cnblogs.com/mua9102/p/13387034.htmlprofile:/home/ruoyi/uploadPathbasedir:/data/apps/temp#项目相关配置ruoyi:#名称name:fgyw_corp#版本ve......
  • 【NodeJS】GLIBC_2.28 not found CentOS7不兼容Node高版本 npm报错
    CentOS7环境下安装Nvm,在执行nvmuse18.17.0后执行node-v爆出如下错误 bash复制代码node:/lib64/libm.so.6:version`GLIBC_2.27'notfound(requiredbynode)node:/lib64/libc.so.6:version`GLIBC_2.25'notfound(requiredbynode)node:/lib64/libc.so......
  • 工单建立报错
    CO323销售订单没有CO对象 按照提示,检查需求类型。 具体有哪些,看下面的路径:也可以直接找个正常的销售订单对比,这里是设置消耗库存,还是按单生产的地方。......
  • STL:vector中如何使用at()来避免程序报错
     #include<iostream>#include<vector>usingnamespacestd;intmain(){ vector<int>Vec; for(inti=0;i<30;i++) { Vec.push_back(i); //cout<<Vec.size()<<endl; //cout<<Vec.capacity()<......
  • egg 启动报错
    版本nodev18.12.0egg^3.17.5 背景先前执行yarnstart可以正常启动,今日修改代码再次启动,发现报错,如下图(比较长没有截完) 排查与解决1.默认node版本16.18.0,vue3项目要更高的版本,因此导致项目起不来还比较频繁,于是先忽视报错,无脑切node版本到18.12.0,未果用......
  • windows11安装SQL server数据库报错等待数据库引擎恢复句柄失败(二)
    windows11安装SQLserver数据库报错等待数据库引擎恢复句柄失败(二),昨天在给网友远程的时候发现了一个新的问题。计算机系统同样是Windows11,通过命令查出来的扇区相关结果也都是4096,但是最后的安装还是提示SQLserver数据库报错等待数据库引擎恢复句柄失败扇区修改详情可以......
  • 解决go项目引进etcd/clientv3的一个报错grpc版本过高的两个方法
    在使用etcd做服务注册和发现,编译时提示下列错误:#github.com/coreos/etcd/clientv3/balancer/pickerF:\Go\pkg\mod\github.com\coreos\[email protected]+incompatible\clientv3\balancer\picker\err.go:37:44:undefined:balancer.PickOptionsF:\Go\pkg\mod\github.com\coreos\e......
  • VUE前端打包报错:TypeError: Class extends value undefined is not a constructor or
    在执行npmrunbuild的时候遇到了错误:TypeError:Classextendsvalueundefinedisnotaconstructorornull;而执行npmrunserve是可以正常执行的,报错如下:buildingforproduction...ERRORTypeError:ClassextendsvalueundefinedisnotaconstructorornullTypeErr......
  • 微信小程序:解决chooseImage:fail unknouwn scene报错
    我自己用的是安卓的,在某些苹果机上正常运行,但在我一个朋友的11上就报这个错: 开始以为是隐私协议的问题,我就把隐私协议打开了: 但是错误依然,我就谷歌了一下,发现,这是个微信的bug。。https://developers.weixin.qq.com/community/develop/article/doc/000840f94fc390bc8d0c......