(附所有jar包的下载)com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException的解决办法

 

目录

 

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException的解决办法

一、出现异常

 二、解决方案

方案一

方案二


com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException的解决办法

一、出现异常

在我们使用JDBC来连接MySQL数据库时,会出现下面的异常

 Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Client does not support authentication protocol requested by server; consider upgrading MySQL client

异常截图

 二、解决方案

出现上面的异常是因为,MySQL版本和jar驱动包不兼容的导致的问题

方案一

由于我的jar包的版本是5.1.9的版本,然而MySQL是8.0的版本,可以将MySQL的版本调制到5.0的版本即可。

方案二

上面的方案来说比较麻烦要重新下载MySQL,所有我们可以将jar包的版本提升到8.0以后的版本即可

1.我们进入maven网站:http://mvnrepository.com

2.在搜索框搜索我们需要的jar包名,如搜索mysql-connection-java

 3.点击第一个MySQL Connector/J

4.上面我们可以看到有很多的版本的jar包,我们可以根据自己的需求选择自己想要的版本,下面我以8.0.22为例进行下载

点击8.0.22,然后点击View All  进行下载即可

5.将原来的jar包更换成新下载的jar包

注意:

由于8.0版本的是较新的jar包,需要将驱动变换一下。

显示之前用的那个驱动类已经过时了,

需要将“com.mysql.jdbc.Driver”变成新的驱动类“com.mysql.cj.jdbc.Driver”:,

如果存在时区的问题,原来从JDBC6.0开始驱动类使用了新的,并且url中必须要设置时区,否侧会报错。需要将driver的url改成

jdbc_url=jdbc:mysql://localhost:3306/student?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&useSSL=false

7.总结

第一步:使用最新的MySQL驱动jar包。
第二步:把驱动的类名改为:
static String driver="com.mysql.cj.jdbc.Driver";
第三步:在访问mysql的url后加入时区设置:
jdbc_url=jdbc:mysql://localhost:3306/student?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&useSSL=false

 

附:所有jar包都可以在http://mvnrepository.com这个网站去下载,下载步骤同上

如果感觉文章不错,可以留下你的赞和评论呦!!!

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值