使用jdbc连接mysql数据库异常“Client does not support authentication protocol requested by”

异常:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Client does not support authentication protocol requested by server; consider upgrading MySQL client
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1013)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3597)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3529)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:935)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4101)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1300)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2337)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2370)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2154)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:792)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:381)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at com.wu.jdbc.Update2.update(Update2.java:17)
at com.wu.jdbc.Update2.main(Update2.java:48)
使用的是Navicat对mysql进行可视化操作:

mysql版本:
********************
*General Information
********************
服务器类型: MySQL
连接名: MYSQL
主机名或 IP 地址: localhost
端口: 3307
用户名: root
保存密码: True
********************
*Advanced Information
********************
设置位置: C:\Users\TP007\Documents\Navicat\MySQL\servers\MYSQL
编码: 65001 (UTF-8)
保持连接间隔 (秒): N/A
使用 MySQL 字符集: True
使用压缩: False
自动连接: False
使用高级连接: False
********************
*SSL Information
********************
使用 SSL: False
使用验证: False
客户端密钥:
客户端证书:
CA 证书:
********************
*SSH Information
********************
使用 SSH 通道: False
主机名或 IP 地址:
端口: 22
用户名:
验证方法: 密码
保存密码: False
********************
*HTTP Information
********************
使用 HTTP 通道: False
通道地址:
用 base64 编码传出查询: False
使用密码验证: False
用户名:
保存密码: False
使用证书验证: False
客户端密钥:
客户端证书:
CA 证书:
Use Proxy: False
代理服务器 主机:
代理服务器 端口: 0
代理服务器 用户名:
代理服务器 保存密码: False
********************
*Other Information
********************
服务器版本: 8.0.16
通讯协定: 10
信息: localhost via TCP/IP
驱动也是这个版本的,上一秒还用idea创建数据库里的student表,下一秒新建一个class添加数据就不行了!
报错信息是客户端不支持服务器请求的身份验证协议;请考虑升级MySQL客户端,这怎么搞?
相关推荐
MySQL 8.0认证协议不兼容解决方案
MySQL数据库认证协议是客户端与服务端安全通信的核心机制。从技术原理看,MySQL 8.0将默认认证插件从mysql_native_password升级为更安全的caching_sha2_password,采用SHA256算法并支持SSL加密。这一变更虽然提升了安全性,但会导致旧版客户端出现1251错误。在工程实践中,开发者可通过升级客户端驱动、修改用户认证插件或调整服务端配置三种方案解决兼容性问题。特别是在云数据库和Docker等现代部署环境中,需要特别注意认证插件的特殊配置方式。合理处理认证协议问题既
Hive 2.3.9 元数据初始化:MySQL 8.0 与 MariaDB 10.6 配置差异与 3 个常见错误排查
本文详细解析了Hive 2.3.9元数据初始化过程中MySQL 8.0与MariaDB 10.6的关键配置差异,包括驱动版本选择、连接参数设置和权限管理。针对环境搭建中常见的3类错误(访问拒绝、SSL连接异常和驱动加载失败)提供了具体排查方案,帮助开发者高效完成大数据平台部署。
产教融合实训基地与实践中心建设逻辑图-可编辑版
产教融合实训基地与实践中心建设逻辑图-可编辑版
idea2025-free.zip
idea2025-free.zip
sop基于灵敏度分析的有源配电网智能软开关优化配置升级1(Matlab代码实现)
内容概要:本文提出了一种基于灵敏度分析的有源配电网智能软开关(SOP)优化配置方法,旨在应对高比例分布式电源接入带来的电压波动与网络损耗加剧等问题。研究以IEEE33节点系统为算例,通过改进的灵敏度分析模型量化各节点对电压和功率流动的影响程度,进而构建SOP选址与定容的优化模型,实现降低网损、改善电压分布及提升系统运行灵活性的目标。全文详细阐述了灵敏度指标的数学推导、目标函数与约束条件的建模过程,并基于Matlab实现了完整的仿真求解流程,具备良好的工程实用性与学术参考价值。; 适合人群:电力系统及其自动化、电气工程等相关专业的硕士博士研究生、科研机构研究人员,以及从事智能配电网规划、运行与优化的工程技术人员。; 使用场景及目标:①研究分布式电源大规模接入背景下配电网的主动调控与优化策略;②指导智能软开关在实际配电网中的科学选址与容量配置;③为相关科研课题提供可复现的仿真案例,支撑学术论文撰写与算法验证。; 阅读建议:建议读者结合提供的Matlab代码与IEEE33节点标准模型进行动手实践,重点理解灵敏度指标的物理意义及其在优化模型中的应用逻辑,关注求解过程中的约束设置与算法收敛性,并可进一步拓展至SOP与储能联合配置、多时间尺度优化等复杂场景进行二次开发与研究。


Java SE
