java插入数据库mysql时间相差13小时

谁践踏了优雅 2024-04-19 11:15 138阅读 0赞

今天用java new dete() 插入数据库,插入成功发现时间少13小时

在这里插入图片描述

万能的度娘,告诉了我事情的真相:

1原来是数据库设置的时区不是我当前所在时区。

2mysql高版本会出现这个问题,比如8.0 我用5.X没事

有很多解决方案

1—

在这里插入图片描述

在后面添加 serverTimezone=Asia/Shanghai

  1. spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai

2—

在这里插入图片描述

  1. show variables like '%time_zone%'

设置mysql时区:set GLOBAL time_zone = '+8:00';

但是这个只是临时有效

如果想将时区设置为永久生效,需要修改配置文件my.cnf(在/etc/my.cnf或者/etc/mysql/my.cnf):

在配置文件中添加

  1. default-time-zone = '+8:00'

然后restart mysql。

发表评论

表情:
评论列表 (有 0 条评论,138人围观)

还没有评论,来说两句吧...

相关阅读