一个数据库版本兼容问题

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,但也可以考虑升级到新版本以获得更多好处。

相关推荐
ss27329 分钟前
30 PostgreSQL ACID特性详解
数据库·postgresql
syagain_zsx36 分钟前
ODB 与 MySQL:C++ 里的 ORM 实践(类即表、事务铁律与查询封装)
开发语言·数据库·c++·mysql·工具库·1024程序员节
时间售卖铺41 分钟前
MySQL 备份
运维·数据库·mysql·云原生
靠谱的工程师朋友1 小时前
电子会计档案管理软件科普 核心能力与选型要点解析
网络·数据库·人工智能·电子会计档案
北冥you鱼1 小时前
Go 语言 Ticker 定时任务全解析:原理、陷阱与最佳实践
开发语言·数据库·golang
花间相见1 小时前
【计算基础|MySQL17】三大日志:undo / redo / binlog
数据库·后端·面试
严同学正在努力1 小时前
PostgreSQL 数据库安装部署教程(Linux 多发行版 + Windows + Docker 全覆盖)
linux·数据库·postgresql
众链网络1 小时前
年卡跨淡旺季的有效期模型:不可用日期、次数与顺延规则
java·前端·数据库
shunwahma2 小时前
MySQL 替代选型,为什么首选 OceanBase 集中式?
数据库·mysql·oceanbase
n 55!w !1082 小时前
MySQL数据库笔记整理1
数据库·笔记·mysql