mysql支持的时区列表_5.1.14 MySQL服务器时区支持

有关复制设置中时区设置的信息,请参见第17.5.1.14节“复制和系统功能”和 第17.5.1.32节“复制和时区”。

本节介绍了MySQL维护的时区设置,如何加载命名时间支持所需的系统表,如何在时区更改时保持最新状态以及如何启用leap秒支持。

从MySQL 8.0.19开始,插入的datetime值也支持时区偏移量。有关更多信息,请参见第11.2.2节“ DATE,DATETIME和TIMESTAMP类型”。

时区变量

填充时区表

与时区变化保持同步

时区飞跃秒支持

有关复制设置中时区设置的信息,请参见第17.5.1.14节“复制和系统功能”和 第17.5.1.32节“复制和时区”。

时区变量

MySQL Server维护几个时区设置:

系统时区。服务器启动时,它将尝试自动确定主机的时区,并使用它来设置 system_time_zone系统变量。此后该值不变。

要在启动时为MySQL Server明确指定系统时区,请在启动mysqldTZ之前设置环境变量。如果使用mysqld_safe启动服务器,则其 选项提供了另一种设置系统时区的方法。对于允许值和 是取决于系统。请查阅操作系统文档,以了解可以接受的值。 --timezoneTZ–timezone

服务器当前时区。全局 time_zone系统变量指示服务器当前正在运行的时区。初始time_zone 值为’SYSTEM’,指示服务器时区与系统时区相同。

注意

如果设置为SYSTEM,则每个需要时区计算的MySQL函数调用都会进行系统库调用,以确定当前系统时区。该调用可能受到全局互斥锁的保护,从而导致争用。

初始全局服务器时区值可以在启动时通过–default-time-zone命令行中的选项显式指定 ,也可以在选项文件中使用以下行:

default-time-zone=‘timezone’

如果您具有 SYSTEM_VARIABLES_ADMIN 特权(或不赞成使用的 SUPER特权),则可以使用以下语句在运行时设置全局服务器时区值:

SET GLOBAL time_zone = timezone;

每会话时区。每个连接的客户端都有自己的会话时区设置,由会话 time_zone变量指定。最初,会话变量从全局变量获取其值time_zone,但是客户端可以使用以下语句更改其自己的时区:

SET time_zone = timezone;

会话时区设置会影响对时区敏感的时间值的显示和存储。这包括由功能(例如NOW()或) 显示的值 CURTIME(),以及存储在TIMESTAMP 列中或从列中检索的值。TIMESTAMP 列的值从会话时区转换为UTC以进行存储,并从UTC转换为会话时区以进行检索。

会话时区设置不会影响功能显示的 UTC_TIMESTAMP()值DATE,例如 TIME,,或 DATETIME列中的或值 。这些数据类型中的值也不会存储在UTC中;时区仅在从TIMESTAMP值转换时适用 。如果要针对DATE, TIME或 DATETIME值进行语言环境特定的算术 ,请将其转换为UTC,执行该算术,然后转换回。

可以按以下方式检索当前的全局和会话时区值:

SELECT @@GLOBAL.time_zon

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值