关于Mysql-connector-java驱动版本问题总结

 更新时间:2021年06月16日 15:05:37   作者:like3ong  
这篇文章主要介绍了Mysql-connector-java驱动版本问题,本文给大家介绍的很详细,通过原因说明问题小结个人建议给大家展示的很好,需要的朋友可以参考下

Mysql-connector-java驱动版本问题

由于我的数据库版本是5.7.28 ,在使用java连接mysql时经常出现版本问题。

  • com.mysql.jdbc.Driver 是 mysql-connector-java 5中的,
  • com.mysql.cj.jdbc.Driver 是 mysql-connector-java 6中的

不推荐不使用服务器身份验证来建立SSL连接。
如果未明确设置,MySQL 5.5.45+, 5.6.26+ and 5.7.6+版本默认要求建立SSL连接。
为了符合当前不使用SSL连接的应用程序,verifyServerCertificate属性设置为'false'。
如果你不需要使用SSL连接,你需要通过设置useSSL=false来显式禁用SSL连接。
如果你需要用SSL连接,就要为服务器证书验证提供信任库,并设置useSSL=true。

SSL – Secure Sockets Layer(安全套接层)

Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

报错原因:
    MySQL5用的驱动url是com.mysql.jdbc.Driver,MySQL6以后用的是com.mysql.cj.jdbc.Driver。版本不匹配便会报驱动类已过时的错误。
解决方法:
    更改配置文件中的驱动类名字就可以消除驱动类过时的警告了。

mysql5.7.28版本即使改了驱动名为com.mysql.cj.jdbc.Driver也还是会报错,原因在于没有将pom项目对象模型文件中版本改成

mysql-connector-java8.0以上

mysql-connector-java与Mysql对应版本

由于我的是mysql5.7.28 使用connector-java version 5.1的版本,还是会出现上面的报错。因此在mysql5.6以上使用connector-java 8.0以上,

而且在使用时需要对时区进行设置

driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/数据库名?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false
username=root
password=

此处的serverTimezone一定得写serverTimezone=Asia/Shanghai,写成serverTimezone=Shanghai也会报错,貌似是找不到shanghai这个时区,可能是全球的shanghai不止一个,哈哈!

mysql-connector-java与Java对应版本

鉴于以上,对于初学的小伙伴还是直接用mysql-connector-java 8.0 以上

以上就是Mysql-connector-java驱动版本问题的详细内容,更多关于Mysql connector java驱动的资料请关注脚本之家其它相关文章!

相关文章

  • MySQL给查询记录增加序列号的实现方法

    MySQL给查询记录增加序列号的实现方法

    这篇文章主要介绍了MySQL给查询记录增加序列号的实现方法,文中通过代码示例讲解的非常详细,对大家的学习或工作有一定的参考价值,需要的朋友可以参考下
    2023-11-11
  • 关于MySQL性能调优你必须了解的15个重要变量(小结)

    关于MySQL性能调优你必须了解的15个重要变量(小结)

    MYSQL 应该是比较流行的 WEB 后端数据库。虽然 NOSQL 最近越来越多的被提到,但是相信大部分架构师还是会选择 MYSQL 来做数据存储。本文作者总结梳理MySQL性能调优的15个重要变量,感兴趣的可以了解一下
    2019-07-07
  • MySQL中SQL的执行顺序详解

    MySQL中SQL的执行顺序详解

    这篇文章主要介绍了MySQL中SQL的执行顺序,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05
  • MySQL 无监听端口故障问题排查记录

    MySQL 无监听端口故障问题排查记录

    文章解析MySQL运维中因skip-grant-tables参数隐性启用skip-networking导致端口未监听的故障,指导如何排查及恢复网络连接,强调参数关联与安全机制,本文给大家介绍MySQL 无监听端口故障问题排查记录,感兴趣的朋友一起看看吧
    2025-07-07
  • MySQL中Binlog文件占用空间比较大该如何清理

    MySQL中Binlog文件占用空间比较大该如何清理

    在MySQL中binlog(二进制日志)是一种记录数据库操作的日志文件,它记录了数据库更改的所有操作,这篇文章主要介绍了MySQL中Binlog文件占用空间比较大该如何清理的相关资料,需要的朋友可以参考下
    2025-09-09
  • 解决Navicat远程连接MySQL出现 10060 unknow error的方法

    解决Navicat远程连接MySQL出现 10060 unknow error的方法

    这篇文章主要介绍了解决Navicat远程连接MySQL出现 10060 unknow error的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • mysql 5.7.20解压版安装方法步骤详解(两种方法)

    mysql 5.7.20解压版安装方法步骤详解(两种方法)

    本文给大家分享mysql 5.7.20解压版安装方法步骤详解,本文给大家分享两种方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-11-11
  • MySql的存储过程学习小结 附pdf文档下载

    MySql的存储过程学习小结 附pdf文档下载

    这篇文章主要是介绍mysql存储过程的创建,删除,调用及其他常用命令
    2012-03-03
  • 如何查看连接MYSQL数据库的IP信息

    如何查看连接MYSQL数据库的IP信息

    这篇文章介绍了三种查看连接MYSQL数据库的IP信息方法,方法简单实用,需要的朋友可以参考下
    2015-07-07
  • MySQL表中添加时间戳的几种方法

    MySQL表中添加时间戳的几种方法

    这篇文章主要介绍了MySQL表中添加时间戳的几种方法,有张表的数据需要用同步工具同步至其他库,需要 update_time 时间戳字段 来做增量同步,需要的朋友可以参考下
    2019-06-06

最新评论