Mysql8和oracle数据库时差8小时的问题

事情原由:个人有个开发测试用的阿里云服务器,这几天就要到期了。新注册了一个腾讯云账户,新用户2000多买了一台服务器。3年5M带宽(2核8G内存)。听网上文章说,mysql8性能比mysql5.6强一倍多,正好把之前的项目升级了一下数据库。结果就遇到这个时差问题。特意整理了一下文档。

 

1. 因为我的开发平台不能只用mysql,需要兼顾oracle数据库。所以我用了方案一。

 

2. 方案一【我比较喜欢用这种方式】

show variables like '%time_zone%';

Mysql8和oracle数据库时差8小时的问题

  1. Mysql默认安装就是这2个值。
  2. Central Standard Time (CST),*标准时间
  3. Time_zone 的值为 SYSTEM,表示操作系统所在的时区

 

  • 代码里面对日期型,和时间型分别加上,GMT+8。

Mysql8和oracle数据库时差8小时的问题

 

  • Jdbc的连接串,指定serverTimezone=Asia/Shanghai

jdbc.driverClassName=com.mysql.cj.jdbc.Driver

 

jdbc.url=jdbc:mysql://localhost:3306/uadp6?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai

 

Mysql8和oracle数据库时差8小时的问题

 

3. 方案二【mysql可以改+8小时,oracle还没时间研究】

有一个方案就够了,先顶着用吧。