MySQL插入时间差八小时问题解决


最近使用docker安装了mysql,日期字段类型为timestamp,jpa插入数据后发现与本地时间相差8个小时,各种百度谷歌答案无果,经历了若干次的试验之后,特此奉上解决方法:

mysql版本 5.7

首先查询数据库时区:

show variables like '%time_zone%';

我的显示:

system_time_zone		UTC
time_zone				+03:00

解决方法:
第一步:
在application.yml中加入以下配置:

spring:
    jackson:
      time-zone: GMT+8

第二步:
数据库url:

jdbc:mysql://localhost:3306/helloworld?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false&useTimezone=true&serverTimezone=UTC

第三步:
在数据库可视化工具里执行sql:

set global time_zone = '+8:00';

第四步:
退出数据库可视化工具,重新进入

搞定!!!特此分享!!!

如需转载请著名原作者及链接。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐