mysql8设置全局时区_mysql8 参考手册--MySQL服务器时区支持

MySQL8服务器维护系统和会话级别的时区设置。全局时区可通过TZ环境变量或--timezone选项设定,初始默认为系统时区。会话时区可由每个客户端独立设置。时间值的显示和存储受会话时区影响,但DATE, TIME和DATETIME不受时区转换。时区表需手动加载和更新以保持与系统同步,尤其在时区规则变更时。使用mysql_tzinfo_to_sql或下载的SQL包可更新时区信息。" 43647643,1462475,Android实现横向GridView教程,"['Android开发', '布局管理', 'GridView']
摘要由CSDN通过智能技术生成

时区变量

MySQL Server维护几个时区设置:

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

要在启动时为MySQL Server明确指定系统时区,请在启动mysqld之前设置TZ环境变量。如果使用mysqld_safe启动服务器,则其 --timezone o选项提供了另一种设置系统时区的方法。对于允许值和--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_zone, @@SESSION.time_zone;

timezone 值可以以多种格式给出,都不区分大小写:

作为值'SYSTEM',指示服务器时区与系统时区相同。

作为指示与UTC的偏移量的字符串,例如 '+10:00'或'-6:00'。

作为命名的时区,例如 'Europe/Helsinki', 'US/Eastern&

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值