Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3.2.7版本的连接串中的时区设置影响mysql的连接时区设置 #135

Open
Chuangyu opened this issue Dec 27, 2023 · 1 comment

Comments

@Chuangyu
Copy link

Chuangyu commented Dec 27, 2023

环境
CentOS 7
操作系统时区 东8区
jdk 1.8.0_201-b09

spring boot 1.5.18

taos 客户端 3.2.2.0
jdbc 版本 3.2.7

连接池均使用 ali druid (com.alibaba:druid:1.1.9/ com.alibaba:druid:1.0.26)

阿里云 RDS mysql 5.6 数据库默认时区东8区
jdbc驱动: mysql-connector-java:5.1.47
ORM spring data JPA
连接池配置
spring.datasource.druid.admin.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.druid.admin.url=jdbc:mysql://host/db?useUnicode=true&characterEncoding=utf-8&supportBigNumbers=true

taos 连接池配置
没有使用ORM, 直接操作
spring.datasource.druid.taos.driver-class-name=com.taosdata.jdbc.TSDBDriver
spring.datasource.druid.taos.url=jdbc:TAOS://:/?locale=UTF-8&charset=UTF-8&timezone=UTC

taos数据库的写入采用拼接sql字符串的方式,spring JDBCTemplate#update(sql),没有使用ORM

现象:
MySQL数据库的某个数据表字段类型 DATETIME

Java 实体对应字段类型(2个类型都测试过)java.util.Date 或者 org.joda.time.LocalDateTime
存入MySQL数据库时,时间会晚8小时,

如果 把taos jdbc 3.2.7驱动 的数据库连接串中的 timezone=UTC 去掉, 则MySQL数据库 DATETIME 写入正常

如果用taos jdbc 3.1.0驱动, timezone=UTC可以存在且不影响MySQL的写入。

该Java实体:从未向TDengine写入或读取, 即不对应TDengine中的表,只对应MySQL的表

另一个环境是 spring boot 2.4.0, jdk 8, jdbc驱动:mysql-connector-java:8.0.22
driver-class-name=com.mysql.cj.jdbc.Driver
url= jdbc:mysql://host/db?serverTimezone=CTT&useUnicode=true&characterEncoding=utf-8&supportBigNumbers=true
taos jdbc url 中也有 timezone=UTC
mysql 连接串中有 serverTimezone=CTT结果时间早8小时。
如果taosjdbc驱动换成3.1.0则时间正常

@sheyanjie-qq
Copy link
Contributor

时区设置是进程级别的,因此会影响到你写mysql。建议设置一处即可。
低版本3.1.0可以工作是因为低版本根本没有设置jvm时区,只设置了底层taosc库的。3.2.7修复了这一问题。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants