Tidb 时区问题

Tidb的变量 system_time_zone 不随系统变化
[root@localhost ~]# ll /etc/localtime
lrwxrwxrwx. 1 root root 33 Mar 17 10:44 /etc/localtime -> /usr/share/zoneinfo/Asia/Shanghai
[root@localhost ~]# echo $TZ
Asia/Shanghai
[root@localhost ~]# mysql -uroot -p -h192.168.135.148 -P4000
±-----------------±-----------------+
| system_time_zone | America/New_York |

https://docs.pingcap.com/zh/tidb/stable/configure-time-zone

官方文档这里说明了time_zone 的设置 但是system_time_zone没有说明

https://docs.pingcap.com/zh/tidb/stable/system-variables#system_time_zone
对于变量的解释文档中说的

  • 作用域:NONE
  • 默认值:(随系统)
  • 该变量显示首次引导启动 TiDB 时的系统时区。另请参阅 [ time_zone ]

这里的首次引导启动 TiDB 时的系统时区 可以理解为之后就不会变化了么,那这个参数在实际使用中是可以忽略么?只需要考虑time-zone就可以么?

请问什么版本?

5.4.0

是的,默认不调整数据库系统时区,时间会根据 OS 系统时区设置走。现在遇到的问题是什么?

可以感觉这篇文档做一下验证,如果出现非预期的现象,可以再反馈一下复现步骤。

1 个赞

是在做cdc测试的时候出现了问题,然后发现我的| system_time_zone | America/New_York |,然后我调整了本地OS的时区,和tidb的time_zone参数之后就没有问题了。
但是在处理问题期间我发现这个system_time_zone 好像不能人为指定,我重启过tidb也没有变化。然后我现在的变量是这个情况。就想问一下这块
MySQL [jian]> SELECT @@global.time_zone, @@session.time_zone, @@global.system_time_zone;
±--------------- ------------±-------------------------------------±-----------------------------+
| @@global.time_zone | @@session.time_zone | @@global.system_time_zone |
±-----------------------------±-----------------------------±--------------------------------------------------+
| Asia/Shanghai | Asia/Shanghai | America/New_York |
±-----------------------------±------------------------------±------------------------------+
1 row in set (0.003 sec)

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。