栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何正确设置MySQL时区

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何正确设置MySQL时区

您必须了解MySQL维护多个时区设置:

  • 系统时区(基本上是OS中设置的时区)
  • 服务器时区(MySQL使用的时区)
  • 客户端时区(每个连接使用的会话时区)

有关详细信息,请参见http://dev.mysql.com/doc/refman/5.5/en/time-zone-
support.html

日期/时间值以两种不同的方式存储:

  • 所有基于unix时间戳的值始终存储在UTC中。在存储和读取它们时,它们会在内部与客户端时区之间进行实时转换。NOW()和CURTIME()函数基于时间戳,因此也是如此。
  • DATE,TIME和DATETIME列(以年,月,日,时,分,秒的格式存储其值)不受时区设置的影响,并且永远不会进行转换。

从上面可以清楚地看出,当您从基于unix时间戳的列中读取时看到的值不一定是数据库中真正存储的值。它们使用服务器时区和客户端时区进行转换。如果您不了解机械的细节,结果可能会造成混淆。

对于第一个测试,请尝试执行以下命令以找出每个客户端程序中的当前设置

SELECT @@global.time_zone, @@session.time_zone;

全局时区将始终相同。但是会话时区可能因客户端应用程序而异,并且会更改您的读写操作的结果。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/373002.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号