一个数据库版本兼容问题

mysql旧的版本号是:5.3.10

本机版本号是:8.0.22

报错:"com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create"

1.程序里做兼容:

xml 复制代码
<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.13</version>
        </dependency>

2.更改mysal的驱动换成

com.mysql.cj.jdbc.Driver

3.在访问mysql的url后加入时区设置

&serverTimezone=UTC

这样就可以解决问题了!

com.mysql.cj.jdbc.Driver 和 com.mysql.jdbc.Driver 有什么区别?

回答:

com.mysql.cj.jdbc.Driver 和 com.mysql.jdbc.Driver 都是 MySQL 数据库的 JDBC 驱动类,但它们对应着不同的 MySQL JDBC 驱动版本,具有一些区别:

MySQL Connector/J 8.0 以后的版本使用 com.mysql.cj.jdbc.Driver:

com.mysql.cj.jdbc.Driver 是 MySQL Connector/J 8.0 版本及以后版本中的驱动类。

这个版本引入了一些新的功能、性能优化和改进,同时也修复了一些旧版本中的 bug。

它支持新的连接属性、时区设置等功能。

MySQL Connector/J 5.x 版本使用 com.mysql.jdbc.Driver:

com.mysql.jdbc.Driver 是 MySQL Connector/J 5.x 版本中的驱动类。

这是 Connector/J 的旧版本,如果你的应用程序使用的是这个版本,通常需要考虑升级到 8.0 版本以获取更好的性能和功能支持。

总之,com.mysql.cj.jdbc.Driver 是 MySQL Connector/J 8.0 以后版本的 JDBC 驱动类,而 com.mysql.jdbc.Driver 是 5.x 版本的 JDBC 驱动类。如果你正在创建一个新的应用程序或者进行驱动升级,建议使用 com.mysql.cj.jdbc.Driver,因为它包含了较新的功能和改进。如果你的应用程序已经使用了 5.x 版本的驱动,并且没有升级的计划,那么可以继续使用 com.mysql.jdbc.Driver,但也可以考虑升级到新版本以获得更多好处。

相关推荐
Pasregret7 分钟前
缓存与数据库一致性深度解析与解决方案
数据库·缓存·wpf
skywalk816310 分钟前
Graph Database Self-Managed Neo4j 知识图谱存储实践2:通过官方新手例子入门(未完成)
数据库·知识图谱·neo4j
Lucky GGBond13 分钟前
MySQL 报错解析:SQLSyntaxErrorException caused by extra comma before FROM
数据库·mysql
Claudio42 分钟前
【MySQL】联合索引和覆盖索引(索引失效的误区讲解+案例分析)
数据库
纪元A梦1 小时前
Redis最佳实践——性能优化技巧之监控与告警详解
数据库·redis·性能优化
GarfieldFine1 小时前
MySQL索引使用一定有效吗?如何排查索引效果?
数据库·mysql
cypking2 小时前
mysql 安装
数据库·mysql·adb
一个数据大开发2 小时前
解读《数据资产质量评估实施规则》:企业数据资产认证落地的关键指南
大数据·数据库·人工智能
鬼面瓷2 小时前
CAPL编程_03
前端·数据库·笔记
欧先生^_^3 小时前
Jinja 的详细介绍和学习方法
数据库·sqlite