今天处理下数据库连接的问题。

1.php连接数据库时身份验证出错

首先在php.ini文件中扩展中打开MySQL相应扩展:extension=pdo_mysql、extension=mysqli;然后在相应位置创建.php文件输入以下代码,运行,出现下例报错:

Warning: mysqli::__construct(): The server requested authentication method unknown to the client [caching_sha2_password] in C:\xampp\htdocs\project\index.php** on line **9

*Warning: mysqli::__construct(): (HY000/2054): The server requested authentication method unknown to the client in C:\xampp\htdocs\project\index.php** on line **9 env mysql success

连接代码如下:

$mysqli = new mysqli("localhost","root","000000");
if($mysqli){echo "env mysql success";
}else{echo "env mysql error";
}

查询报错信息后发现是身份验证方法出错,具体原因是PHP与MySQL对应版本的加密方式有问题,该问题一般出现在PHP 7.4和MySQL8.0及以上版本,如果还没安装数据库的同学可以安装MySQL5.6的版本来避免这一问难题。

2.处理方式

如果是已安装且MySQL版本为8.0以上的同学可以尝试我的方式:

mysql> alter user 'root'@'localhost' identified with mysql_native_password by '000000';

进入数据库直接修改加密方式,该修改方式不涉及配置修改,安全可靠。

3.处理结果

连接成功,如果不是以上结果,报错信息也不一致,那么可能是其他错误,还需要自己多多留意。

如果过对PHP以及MySQL用户认证加密方式还有什么不理解及感兴趣的地方可通过以下链接了解详情:

关于PHP7.4与MySQL8认证问题详解-PHP7-PHP中文网mysql8的默认密码加密方式是caching_sha2_password,PHP7.4连接mysql的加密方式也为caching_sha2_password,这个地方要注意。https://www.php.cn/topic/php7/441877.html

转载请注明出处

PHP连接数据库——身份验证问题相关推荐

  1. SQL Server 连接字符串和身份验证 学习

    SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开.           PropertyName1=Value1 ...

  2. MVC身份验证及权限管理(转载)

    from https://www.cnblogs.com/asks/p/4372783.html MVC自带的ActionFilter 在Asp.Net WebForm的中要做到身份认证微软为我们提供 ...

  3. 使用Linux docker容器中的集成安全性对SQL Server的.Net Core客户端进行身份验证

    目录 面对问题 逐步发现解决方案 先决条件 我们的演示应用 在容器中准备kerberos身份验证 KDC消费所需的包 创建一个合适的krb5.conf文件 生成keytab文件 Docker化演示应用 ...

  4. ASP.NET Core——身份验证UI安装

    目录 介绍 要求 安装步骤 1.身份验证和身份UI配置 2.身份持久性实现 创建数据库 为Entity Framework Core配置ASP.NET Core 通过Entity Framework ...

  5. 怎样更改SQL Server 2008的身份验证方式

    大家都知道sql server 有两种登录验证方式,即sql server验证方式和windows验证方式,但是sql server默认的是windows登录验证方式,我们如何启用sql server ...

  6. 为MongoDB添加身份验证

    MongoDB 默认没有开户身份验证,除非不开放外网访问,否则这种模式极不安全,现纪录添加身份验证步骤如下: 配置创建用户的时候,需要关闭: #security: ##副本集之间通信用到的认证文件 # ...

  7. 了解REST:动词,错误代码和身份验证

    我正在寻找一种在基于PHP的Web应用程序,数据库和CMS中将API围绕默认功能包装的方法. 我环顾四周,发现了几个"骨架"框架. 除了我的问题的答案外,还有Tonic ,我喜欢它 ...

  8. (转)windows身份验证登入数据库 iis 无法访问数据库

    原文地址:http://www.cnblogs.com/d-xtl/archive/2011/12/27/2303890.html System.Data.SqlClient.SqlException ...

  9. jsf如何与数据库连接_JSF身份验证登录注销数据库示例

    jsf如何与数据库连接 Authentication mechanism allows users to have secure access to the application by valida ...

  10. mysql密码认证插件_关于mysql:无法加载身份验证插件’caching_sha2_password’

    我正在将MySQL-8.0与MySQL Workbench连接起来并出现以下错误: Authentication plugin 'caching_sha2_password' cannot be lo ...

最新文章

  1. Jumpserver:跳板机
  2. [LeetCode] Sum of Two Integers 两数之和
  3. 皮一皮:这算画蛇添足?
  4. c语言实践 1/1+1/2+1/3+1/4+...+1/n
  5. 由浅到深理解ROS(2)
  6. MSSQL中使用CASE函数来灵活返回结果
  7. 计算机图形学二维图形基本变换实验原理,计算机图形学实验:二维图形变换.docx...
  8. Audacity Mac版(音频录制编辑合成工具)中文版
  9. CVPR2018论文阅读-Faster MPN-COV:迭代计算矩阵平方根以快速训练全局协方差池化
  10. Oracle imp/impdp 导入dmp文件到数据库
  11. 全志linux视频硬解码,全志V316超清4K视频编解码芯片处理器介绍
  12. 断点续传 scp rsync
  13. TestNG使用教程
  14. 安卓开机画面_【电视技术】索尼液晶电视开机横线,图像上下跳动技改方案
  15. Best practices for a new Go developer
  16. Mac 此账户尚未用于app store_精品良心Mac应用下载网站
  17. uefi+guid分区与legacy+mbr分区_硬盘分区表格式GUID和MBR知识普及
  18. Coursera 学习记录:细菌分组(通过冒泡排序实现两组有差异的分类)
  19. Zemax操作30--目镜基础知识和凯涅尔目镜仿真
  20. roboto css,css - Roboto font doesn't work in Firefox - Stack Overflow

热门文章

  1. python wgs84坐标转换_python WGS84和ECEF坐标的转换
  2. Java并发学习笔记19 线程池 ThreadPoolExecutor
  3. 华为大数据与阿里大数据的区别
  4. 【小程序源码】笑话段子手
  5. AI弄潮!深圳第一高楼智能访客系统“刷脸”通行
  6. unity教程:MMORPG网络游戏如何实现玩家同步
  7. [FSOD][笔记]Context-Transformer: Tackling Object Confusion for Few-Shot Detection(AAAI 2020)
  8. OSChina 周三乱弹 —— 东京不热,北海道有点热
  9. Office2013 Visio2013 Project2013零售版与VL版互相转换
  10. matlab 回声状态网络ESN的时间序列预测