mysql时区重启后失效_mysql时区问题

mysql时区重启后失效_mysql时区问题背景插入 timestamp 类型与 datetime 类型数据比预计结果早 14 小时原因如果说相差 8 小时不够让人惊讶 那相差 13 小时可能会让很多人摸不着头脑 出现这个问题的原因是 JDBC 与 MySQL 对 CST 时区协商不一致 因为 CST 时区是一个很混乱的时区 有四种含义 美国中部时间 CentralStand USA UTC 05 00 或 UTC 06 00 澳大利亚中部时间 Cen

背景

插入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 ,为设置则使用数据库系统时区。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232590.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • js获取当前年,月,日,时,分,秒「建议收藏」

    js获取当前年,月,日,时,分,秒「建议收藏」vardate=newDate();date.getYear();//获取当前年份(2位)date.getFullYear();//获取完整的年份(4位)date.getMon

    2022年7月4日
    25
  • JRTPLIB 3.9.1文档翻译

    JRTPLIB 3.9.1文档翻译MainPageJRTPLIBAuthor:      JoriLiesenborgs      DevelopedattheTheExpertiseCentreforDigitalMedia(EDM),aresearchinstituteoftheHasseltUniversityAcknowledg

    2022年7月28日
    3
  • Android 开机动画的制作「建议收藏」

    Android 开机动画的制作「建议收藏」最近项目需要对项目Android设备进行开机动画的替换,此项需求操作比较简单,但是也有一些细节需要注意,分享给有需求的极客们开机动画的制作、替换流程。

    2022年5月14日
    55
  • 平行运算:Parallel.For、Parallel.Foreach的体验式试用[通俗易懂]

    平行运算:Parallel.For、Parallel.Foreach的体验式试用[通俗易懂]在编程里面我们经常会遇到编历一个列表或数组做同一件事情或操作,当这个数组或列表很大时又或是需要进行很复杂的操作时,就会花费很长的时间。以前我就在想能不能在这种情况下使用多线程的方式提高效率,可惜一直都没机会和动力(实际需要)去研究。今天在网上查找资料,很偶然的发现.NETFramework4.0中平行算法相关内容(Parallel.For、Parallel.Foreach),原来.NET已经实

    2022年7月19日
    21
  • 图形推理1000题pdf_2019和平区一模24题解析

    图形推理1000题pdf_2019和平区一模24题解析2019和平区数学一模24题解析推理与论证是在探索图形性质、与他人合作交流等活动过程中,发展合情推理,进一步学习有条理的思考与表达;数学推理的内涵是从数和形的角度进行合情推理和演绎推理,是对归纳类比的发展,判断和证明的过程。和平区数学一模试卷24题第(1)问在正方形中利用全等证明线段相等,考察几何问题的推理论证,推理探究。思考的角度不同,方法各异,但殊途同归,考察学生的逻辑推理论证,书写…

    2025年10月16日
    2
  • [文字雲產生器] Tagxedo 把文字串成雲、變成畫,印在 T-Shirt、馬克杯、詩袋…….

    [文字雲產生器] Tagxedo 把文字串成雲、變成畫,印在 T-Shirt、馬克杯、詩袋…….http://www.tagxedo.com/app.html有種東西叫「WordClouds」,就是把一堆文字依照不同的大小、顏色、角度與位置拼湊在一起,讓他變成像一朵雲一般、組合成各種不同的形狀。平常最成看到類似的創作應該是在T-Shirt或馬克杯上,用各種樣式組成不同形狀的文字雲,把想呈現的文字、地名或專有名詞寫在衣服上,看起來相當帥氣!如果你不是設計師卻想玩玩看Wor…

    2025年6月24日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号