【时区问题】MyBatis查询MySQL的datetime类型数据时间差14小时
故障解决方式
与数据库连接时,定义时区,避免mybatis框架从mysql获取时区。在连接上加上 serverTimezone=GMT%2B8
spring.datasource.druid.asset.url=jdbc:mysql://loaclhost:3306/asset1?useUnicode=true&serverTimezone=GMT%2B8&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&allowMultiQueries=true
故障环境介绍
项目 | 描述 |
---|---|
数据库类型 | mysql |
框架 | spring boot |
问题范围 | 因“CST”时区协商误解导致时间差了14或13小时 |
故障发生现象及报错信息
查询结果的时间都比数据库时间多了14小时,
故障分析及解决过程
通过查看
mybatis查询mysql的datetime类型数据时间差了14小时
以及查看
一次JDBC与MySQL因“CST”时区协商误解导致时间差了14或13小时的排错经历
和
与 MySQL 因“CST” 时区协商误解导致时间差了13 小时
总结
遇到这样的问题,还是修改自己程序比较简单粗暴,要是联系dba修改时区设置,一般还需要走流程,需要时间.
life is beautiful,我是Alon,如果你有问题,欢迎给我留言。