数据库
首页 > 数据库> > mysql时区设置为东八区

mysql时区设置为东八区

作者:互联网

场景:后台返回给页面的时间统一差8小时。

 

分析:差八小时,应该是时区问题。具体的是哪一层出的问题呢,mybatis?mysql?系统时间?

 

解析:

1.查询mysql时区(正常)

输入show variables like "%time_zone%";,显示当前时区

全局参数system_time_zone
系统时区,在MySQL启动时会检查当前系统的时区并根据系统时区设置全局参数system_time_zone的值。

全局参数time_zone

用来设置每个连接会话的时区,默认为system时,使用全局参数system_time_zone的值。

中国标准时间=CST(China Standard Time) UT+8:00 。

mysql的时区=system_time_zone+time_zone

 

2.mybatis的时间出问题啦?系统时间出问题啦?

  代码debug调试,显示代码取的当前系统时间正常,但是写入库的时候就异常差了八小时。初步怀疑是mybatis的什么配置异常导致。

  mybatis我找到可能影响时区的就是连接串上的配置,,尝试将这个改为

  

  运行test方法插入数据库,时间已修正。

 

综上确认问题:mybatis的连接串上的时区设置异常,导致插入日期数据时区异常

 

 

 

参考链接:

https://www.cnblogs.com/moss_tan_jun/p/5730005.html

标签:东八区,zone,mysql,system,time,mybatis,时区
来源: https://www.cnblogs.com/potatoChicken/p/11349113.html