背景

插入timestamp类型与datetime类型数据比预计结果早14小时

原因

如果说相差8小时不够让人惊讶,那相差13小时可能会让很多人摸不着头脑。出现这个问题的原因是JDBC与MySQL对 “CST” 时区协商不一致。因为CST时区是一个很混乱的时区,有四种含义:美国中部时间 Central Standard Time (USA) UTC-05:00或UTC-06:00

澳大利亚中部时间 Central Standard Time (Australia) UTC+09:30

中国标准时 China Standard Time UTC+08:00

古巴标准时 Cuba Standard Time UTC-04:00

MySQL中,如果time_zone为默认的SYSTEM值,则时区会继承为系统时区CST,MySQL内部将其认为是UTC+08:00。而jdbc会将CST认为是美国中部时间,这就导致会相差13小时,如果处在冬令时还会相差14个小时。

解决方案

解决此问题的方法也很简单,我们可以明确指定MySQL数据库的时区,不使用引发误解的CST,可以将time_zone改为'+8:00',同时jdbc连接串中也可以增加serverTimezone=Asia/Shanghai。

如何避免上述时区问题,可能你心里也有了些方法,简要总结几点如下:首先保证系统时区准确。

jdbc连接串中指定时区,并与数据库时区一致。

time_zone参数建议设置为'+8:00',不使用容易误解的CST。

各环境数据库实例时区参数保持相同。

拓展知识

设置时区方法1

检查时区 show variables like '%time_zone%';

设置当前会话时区 set time_zone='+8:00',只对本次会话有效,会话结束后,失效。

设置全局会话时区 set global time_zone='+8:00',永久有效

设置立即生效 flush privileges

设置时区方法2

通过修改配置文件,重启mysql后永久有效

https://www.cnblogs.com/jiadi...

数据库参数信息:

全局参数system_time_zone:

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

全局参数time_zone:

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

数据库连接参数:

serverTimeZone:

此参数设置时会选择time_zone ,为设置则使用数据库系统时区。

mysql时区重启后失效_mysql时区问题相关推荐

  1. Mysql主从复制重启后失效问题解决

    1.问题描述 配置完Mysql的主从复制以后,发现将主机重启后,Mysql的主从复制功能失效 Slave_IO_Running: YesSlave_SQL_Running: NO 2.查找问题 通过查 ...

  2. 【date】Linux date命令修改时间重启后失效的问题

    date命令修改时间重启后失效的问题 问题 原因 解决 总结 问题 使用date命令修改时间成功,但是重启后失效 date命令 => date MMDDhhmmYYYY.ss set 原因    ...

  3. 解决Linux系统在设置alias命令重启后失效的问题

    解决Linux系统在设置alias命令重启后失效的问题 参考文章: (1)解决Linux系统在设置alias命令重启后失效的问题 (2)https://www.cnblogs.com/zhoading ...

  4. macos 环境变量 source 重启后失效

    macos 环境变量 source 重启后失效 macos 环境变量一般我们都保存到 ~/.bash_profile 中, 并且使用 source ~/.bash_profile 令它生效, 但重启后 ...

  5. Deepin Linux交换ctrl和capslock键重启后失效的解决方法

    Deepin Linux交换ctrl和capslock键重启后失效的解决方法 1.编辑文件~/.bash_profile 2. 修改~/.config/deepin/deepin-terminal/c ...

  6. linux使关机命令失效,解决Linux系统在设置alias命令重启后失效的问题

    在使用linux系统的过程中,大多数情况下都是在字符界面下进行的.有些比较长的命令我们不希望每次都重复输入,这样不仅浪费时间而且还容易出错:我们会使用alias命令来解决. 比如: alias ll= ...

  7. Win7共享勾选保存凭据,重启后失效的解决方法

    两种方法可以解决,推荐第一种. 第一种方法: Win7访问其他服务器的共享时,输入完共享服务器帐号密码,并点保存登录凭据后,当访问者这台机器重启后再次访问共享就又需要输入帐号密码了,遇到这种问题时,需 ...

  8. mysql重启后自动关闭_mysql服务自动关闭的解决

    笔记本上设置成合上板子不休眠,于是干脆把笔记本放在书包里面,通过远程桌面连接笔记本电脑,经过了很长的时间,再去连接数据库,结果出现cann't connect 10061错误,发现原来是MySQL服务 ...

  9. mysql数据库死锁重启后无效_mysql数据库死锁解决办法

    Date: 2016.04.30 数据库死锁的问题,还是挺让人讨厌的. 这里提供两个解决数据库死锁的方法: 1)重启数据库(谁用谁知道) 2)杀掉抢资源的进程: 先查哪些进程在抢资源:SELECT * ...

  10. mysql 数据库还原后没有_MySQL数据库的备份还原至最新状态

    模拟数据库在某次备份后但未达到下次备份时间中,被意外删除的数据 此处恢复hello数据库和里面的students表 使用工具:均为mariadb-server自带 1 mysqldump 2 mysq ...

最新文章

  1. Perl内置及特殊变量
  2. Ado.net类与对象
  3. CVPR 2018 | TVNet:可端到端学习视频的运动表征
  4. YbtOJ#20078-[NOIP2020模拟赛B组Day7]路径之和【分治,Flody】
  5. Python - 调试Python代码的方法
  6. mingw64 下 java_Win7 64 配置MinGW,以及使用Eclipse
  7. 英语(10)---脱口而出的英语
  8. 近似推断---变分线性回归
  9. 传智播客--itcastbbs(四)
  10. c语言 条件 设a 3 b 4,2012年计算机等级二级C语言章节习题及答案(4)
  11. 跨境电商开发,源码无加密
  12. H桥驱动芯片IR2110功能简介
  13. Nginx 集群和IP反向代理
  14. 计算机的神奇小游戏,电脑课我们常玩的13个小游戏
  15. Hcse 交换知识点-4
  16. 第十四届全国大学生信息安全竞赛部分wp
  17. 写给安卓软件工程师的3条建议,全套教学资料
  18. 数据库系统原理(1)--绪论
  19. week16 实验B ZJM要抵御宇宙射线
  20. 一根木棒折两次形成一个三角形的概率是多少

热门文章

  1. 离散数学 --- 特殊关系 --- 偏序关系,哈斯图和特殊元素以及其它次序关系
  2. Fluent compiled 失败
  3. html网页制作期末大作业成品_新疆旅游网页设计作品_dreamweaver作业静态HTML网页设计模板_新疆旅游景点网页作业制作...
  4. OV7725摄像头显示VGA/LCD
  5. AI-WEB-1.0简单攻略
  6. 海思HI3751_HMS开发指南
  7. 全景视频预测头部移动-Predicting Head Movement in Panoramic Video: A Deep Reinforcement Learning Approach
  8. mysql日期 select_MySQL_MySql日期查询语句详解,使用DATE_FORMAT方法SELECT * FROM `le - phpStudy...
  9. REST API Concerns
  10. SSE学习-一个小栗子