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

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

PHP无法连接MySQL8.0数据库问题处理 报错如下: SQLSTATE[HY000]的更多相关文章

  1. PHP连接MySQL报错:SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket 'MySQL' (2)

    如下所示,PHP连接MySQL报错: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket 'MySQL' ...

  2. yii项目连接多个数据库时, MySQL报错No such file or directory

    服务器错误 yii\db\Exception SQLSTATE[HY000] [2002] No such file or directory ###'xxx是项目根目录' #0 xxx/vendor ...

  3. C#7.0连接MySQL8.0数据库的小笔记

    1.要连接MySql数据库必须首先下载MySql官方的连接.net的文件,文件下载地址为https://dev.mysql.com/downloads/connector/net/6.6.html#d ...

  4. Navicat连接远程MySQL8.0数据库

    前言: 如果你有一台服务器,并且安装了Mysql8.0及以上版本数据库.此时想通过本地Navicat软件连接远程服务器上的mysql数据库.那么接下来你就要完成以下准备工作: 登录远程服务器上的数据库 ...

  5. Navicat连接MySQL8.0亲测有效

    今天下了个 MySQL8.0,发现Navicat连接不上,总是报错1251: 原因是MySQL8.0版本的加密方式和MySQL5.0的不一样,连接会报错. 试了很多种方法,终于找到一种可以实现的: 更 ...

  6. mysql8.0数据库忘记密码时进行修改方法

    最近安装mysql8.0数据库,用以前的修改mysql方法,没有成功,所以参考网上前辈的做法,自己重新整理了下忘记密码时进行修改方法 1.安装mysql8.0后发现,在安装目中,是没有my.ini 和 ...

  7. 远程连接MYSQL8.0服务器问题

    title: 远程连接MYSQL8.0服务器问题 date: 2018-07-07 11:02:26 updated: tags: [MYSQL,坑] description: keywords: c ...

  8. JAVA连接MYSQL8.0问题

    title: java连接mysql8.0问题 date: 2018-07-08 19:27:38 updated: tags: description: keywords: comments: im ...

  9. SQLyog连接MySQL8.0报2058错误的解决方案

    引言 用SQLyog连接MySQL8.0(社区版:mysql-installer-community-8.0.15.0.msi),出现错误2058(Plugin caching_sha2_passwo ...

  10. (转)Navicat连接MySQL8.0亲测有效

    转:https://www.cnblogs.com/shiysin/p/shiysin.html 今天下了个 MySQL8.0,发现Navicat连接不上,总是报错1251: 原因是MySQL8.0版 ...

随机推荐

  1. Linux 更新 TeX Live

    更新 TeX Live 假设你的旧版 TeX Live 版本号为 2023,新版 TeX Live 版本号为 2024.你需要在下面的命令中相应地更改实际版本号.TeX Live 版本可以通过 tlm ...

  2. 报错解决:partially initialized module 'charset_normalizer' has no attribute 'md__mypyc' (most likely due to a circular import)

    在运行jupyter 时候报错'partially initialized module 'charset_normalizer' has no attribute 'md__mypyc' (most ...

  3. Angular Material 18+ 高级教程 – Material Form Field

    介绍 Form Field 或 Text Field 是 Material Design 独有的设计风格 .它长这样 注:Material Design 管它叫 Text Field,Angular ...

  4. 聊聊 iframe, CSP, 安全, 跨域

    refer : https://www.cnblogs.com/kunmomo/p/12131818.html (跨域) https://segmentfault.com/a/119000000450 ...

  5. [Tkey] 黑兔子,白兔子

    CL-21 一般拿到这个题第一眼都应该能看出并查集,subtask1 是给并查集暴力修改的. 后面 subtask2 没有联通操作,是给纯线段树的,也算是启发正解了 再往下可以考虑操作 \(1\) 采 ...

  6. [TK] Terrible Prime

    题目链接 T415418 这道题严格的时间限制比较令人头疼,似乎需要一些高级的算法,但实际上是,想要用点基础知识通过这道题需要两种算法:费马小定理 (见下函数Miller_rabin) 用于subta ...

  7. WiFi基础(五):802.11帧结构与WiFi控制帧、管理帧、数据帧

    liwen01 2024.09.22 前言 前面介绍了 WiFi 的工作原理和 WiFi 的接入过程,这里将通过分析 WiFi 具体数据包结构,让你对 WiFi 工作原理和接入过程有一个更进一步的了解 ...

  8. 智慧医院IT运维方案,全局网络态势感知

    随着医疗卫生体制改革不断深化,卫生行业信息化应用不断普及,大数据.AI.医疗物联网等技术的应用,快速推动"智慧医院"建设.以HIS(医院信息系统).EMRS(电子病历系统).PAC ...

  9. PHP提薪模块

    在使用es搜索的时候需要注意以下这几点 文档(Document)与索引(Index):在ES中,文档是最小的数据单元,类似于数据库中的一行记录.文档组织在索引中,索引类似于数据库中的表.了解如何创建索 ...

  10. 论文解读《MASTERKEY: Automated Jailbreaking of Large Language Model Chatbots》

    导言 ​ 在参加东南大学网络安全学院夏令营的契机下,我第一次接触大模型安全领域.L老师是网络安全领域的一位大牛,在和L老师交流期间,被告知需要准备一次paper presentation介绍四大会中感 ...