首页 > 数据库 >麒麟V10服务器PHP连接MySQL报错PHP Warning: mysqli_connect(): Unexpected server respose while doing caching_sh

麒麟V10服务器PHP连接MySQL报错PHP Warning: mysqli_connect(): Unexpected server respose while doing caching_sh

时间:2023-07-08 15:15:39浏览次数:41  
标签:sha2 mysql 身份验证 报错 版本 MySQL 服务器 PHP 客户端

  1.问题描述

  这个警告表示在进行缓存的 caching_sha2 认证过程中,服务器返回了一个意外的响应码 99。这是由于 MySQL 服务器的配置或版本与使用的客户端库不兼容导致的。

2.解决办法

  a.检查MySQL客户端版本:

  确保你使用的MySQL客户端版本与服务器版本兼容。如果服务器使用较新的版本,并且你使用的客户端版本较旧,可能会导致此错误。尽量升级你的MySQL客户端到与服务器版本兼容的最新版本。

# mysql -u root -p    (输入数据库root用户密码进入mysql命令行)
# 输入以下命令来检查客户端和服务器版本:
select version();      # 显示当前连接的 MySQL 服务器版本
show variables like 'version';     # 显示 客户端版本

  比较客户端和服务器版本号,查看它们是否兼容。通常情况下,如果客户端和服务器版本之间的差异不大,它们应该是兼容的。但是,确保它们属于相同的主要版本(例如,5.6.x 或 8.0.x),因为不同的主要版本之间可能存在不兼容性。

  b.检查MySQL用户的身份验证方法:

  在MySQL服务器上,可以使用多种身份验证方法。较新的MySQL版本通常使用"cache_sha2"作为默认的身份验证方法。然而,较旧的客户端可能不支持该方法。你可以尝试将MySQL用户的身份验证方法更改为较旧的方法,例如"mysql_native_password"。

  在 MySQL 命令行提示符下,执行以下查询以查看用户的身份验证方法:

SELECT user, authentication_string, plugin FROM mysql.user WHERE user = 'your_username';

  执行以下命令更改用户的身份验证方法:

ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

 

注意将"username"和"password"替换为你实际使用的用户名和密码。

  c.更新MySQL客户端配置文件:

  如果你使用的是较新版本的MySQL客户端,但仍然遇到此错误,可能需要更新MySQL客户端的配置文件。在配置文件中,你可以指定所使用的默认身份验证方法。在MySQL客户端的配置文件(通常是my.cnf或my.ini)中添加以下行:

default-authentication-plugin=mysql_native_password

 保存更改后,重新启动MySQL客户端,并尝试连接到服务器。

标签:sha2,mysql,身份验证,报错,版本,MySQL,服务器,PHP,客户端
From: https://www.cnblogs.com/dyc99/p/17537238.html

相关文章

  • mysql报错ERROR 1062 (23000): Duplicate entry '0' for key 'PRIMARY'
    创建表语句:CREATETABLE`mytable`(`id`int(11)NOTNULLPRIMARYKEYAUTO_INCREMENT,`col`varchar(50)NOTNULLDEFAULT'未知',`col1`int(11)NOTNULLDEFAULT'未知',`col2`varchar(45)DEFAULTNULL,`col3`timestampNOTNULLDEFAU......
  • BugKu:文件包含+php伪协议
     这道题一进去发现一个超连接点击后发现跳转到了如下页面url如下/index.php?file=show.php,觉得这道题应该是一个php伪协议的应用1php://filterphp://filter是一种元封装器,设计用于数据流打开时的筛选过滤应用。这对于一体式(all-in-one)的文件函数非常有用,类似readfile()......
  • Debian 12安装配置Apache2.4 + PHP8.0 + MySQL5.7常见问题记录
    1.Apache2.4安装1.1浏览器访问提示502错误正常通过sudoaptinstallapache2安装,安装完成通过systemctlstatusapache2查看运行状态正常,但浏览器访问IP地址提示502错误解决:问题大概率出自服务器防火墙#查看防火墙规则列表sudoufwapplist#Web服务器相关条目#>WW......
  • redis 启动报错oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    1:C07Jul202306:48:05.705#Redisversion=6.0.6,bits=64,commit=00000000,modified=0,pid=1,juststarted1:C07Jul202306:48:05.705#Configurationloaded1:C07Jul202306:49:07.098#oO0OoO0OoO0OoRedisisstartingoO0OoO0OoO0Oo1:C07Jul2023......
  • 麒麟V10安装好MySQL后报错Unit mysql.service could not be found
    导言:这个错误消息表示系统中找不到名为"mysql.service"的服务单元,通常意味着MySQL数据库服务器未正确安装或已卸载.。1.检查MySQL是否已正确安装:确认已经按照正确的方式安装了MySQL数据库服务器,可以参考MySQL官方文档或其他安装指南来确保正确安装。2.检查服务名称:确......
  • Python报错 | RuntimeError: expected scalar type Long but found Float
    报错信息在执行nlp自定义模型的训练函数的时候,报如下错误:RuntimeError:expectedscalartypeFloatbutfoundLong错误原因错误信息指出了问题所在:模型期望的数据类型是float,但实际上传递给模型的数据类型是long。这个错误通常是由于张量数据类型不匹配引起的。在PyTo......
  • PHP聚合短信
    <?phpnamespaceapp\service;usefast\Random;usethink\Exception;usethink\Log;classSmsServiceextendsBaseService{public$key='';//您申请的接口调用Keypublic$template_id='';//模板idpublicfunctionsend(string......
  • linux系统报错:系统自己弹出诸如 kernel:NMI watchdog: BUG: soft lockup - CPU#2 stuc
    1、https://blog.csdn.net/weixin_41752389/article/details/120777145 内核软死锁(softlockup)Softlockup:这个bug没有让系统彻底死机,但是若干个进程(或者kernelthread)被锁死在了某个状态(一般在内核区域),很多情况下这个是由于内核锁的使用的问题。出现死锁原因1、CPU高负载时......
  • 华为超算平台git、cmake、wget、curl报错:SSLv3_client_method version OPENSSL_1_1_0
    最近在使用超算平台时报错,不管是git、cmake、wget、curl中的哪个都报错,大致错误: /usr/bin/cmake3:relocationerror:/usr/lib64/libcurl.so.4:symbolSSLv3_client_methodversionOPENSSL_1_1_0notdefinedinfilelibssl.so.1.1withlinktimereference  参考网......
  • ubuntu系统安装jdk报错debianutils : Breaks: x11-common (< 1:7.7+23~) but 1:7.7+19
    问题:Ubuntu系统执行aptinstallopenjdk-8-jdk 安装jdk8报错root@2b6d781ebc36:/#aptinstallopenjdk-8-jdkReadingpackagelists...DoneBuildingdependencytree...DoneReadingstateinformation...DoneSomepackagescouldnotbeinstalled.Thismaymeanthatyo......