目录

Jdbc-Mysql驱动版本问题

提示

mysql驱动jar包版本必须和mysql数据库版本一致,5版本就对应5版本,8版本同理,否则会报:

could not create connection to database server

无法连接到数据库异常。

今天遇到这个问题,mybatis一直报错,navicat,ide里都能连上,且无异常,就是运行要报错。

然后起了几个docker,挨着测试😕

image-20220502163338046

# 总结:

Mysql 8.0以及以上的数据库,需要使用对应版本的8.0以上的jar包,同时需要修改引入驱动

没有指定MySQL驱动版本的情况下它自动依赖的驱动是8.0.12很高的版本,这是由于数据库和系统时区差异所造成的

在jdbc连接的url后面加上serverTimezone=GMT即可解决问题,如果需要使用gmt+8时区,需要写成GMT%2B8,否则会被解析为空

在连接字符串后面加上?serverTimezone=UTC 其中UTC是统一标准世界时间。

# 8.0版本 完整的连接字符串示例:

jdbc:mysql://ip:3306/database?serverTimezone=UTC
1

# 或者还有另一种选择:

jdbc:mysql://127.0.0.1:3306/database?useUnicode=true&characterEncoding=UTF-8
1

# 这个是解决中文乱码输入问题,当然也可以和上面的一起结合:

jdbc:mysql://ip:3306/database?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC?serverTimezone=UTC
1

# 另一种情况改成:

jdbc:mysql://ip:3306/database?serverTimezone=GMT 
1

jdbc是mysql-connector-java-8.0.11.jar,设置过时区 set time_zone = ‘+8:00’

上次更新: 2023/09/05 17:45:42
最近更新
01
关于我
07-14
02
科学上网
11-15
03
OSS+CDN
09-23
更多文章>
极昼青春
买辣椒也用券