MariaDB 时区错误
MariaDB timezone wrong
SHOW GLOBAL VARIABLES LIKE 'time_zone'
returns:
Variable_name | Value
time_zone SYSTEM
在 Centos 7 服务器上 timedatectl
returns:
Local time: Fr 2020-09-25 20:24:14 CEST
Universal time: Fr 2020-09-25 18:24:14 UTC
RTC time: n/a
Time zone: Host (CEST, +0200)
正在使用 DATETIME
类型和默认值 current_timestamp()
将新行插入 table 此字段具有 UTC 时间 [在本例中 2020-09 -25 18:24:14 而不是 2020-09-25 20:24:14].
我的问题:
我做错了什么?我知道如何设置时区,但 SYSTEM
值应该没问题,因为 Centos 7 服务器设置了正确的时区。
更新
1)
回答评论,SELECT @@GLOBAL.time_zone, @@SESSION.time_zone;
returns 第一个 SYSTEM
和第二个“+00:00”。我在 Plesk 环境中 运行 在 PHP 下安装它。
2)
一开始 table 没有这个 DATETIME 字段。当我用 PMA 添加它时,插入的日期时间 [因为该字段被定义为 NOT NULL
] 是正确的!只有当我 运行 INSERT
语句时,它才会插入 UTC 时间。
多亏了Danila Vershinin,我才找到问题所在。正是他的问题 SELECT @@GLOBAL.time_zone, @@SESSION.time_zone;
returns 让我走上了正确的方向。
首先,我 运行 PMA 中的命令返回两个 SYSTEM
。在 PMA 中插入行生成正确的时间。只是我的 PHP 脚本是错误的,在 CakePHP 下 运行 然后我检查了 app_local.php
中的设置,确实有 UTC
作为 timezone
。将 timezone
更改为 SYSTEM
修复了它。
我该怎么说,MariaDB 可以正常工作,并且由于默认的 CakePHP timezone
设置,我 运行 遇到了这个问题。我现在还向问题添加了 cakephp
标签,因为这是问题的原因。
SHOW GLOBAL VARIABLES LIKE 'time_zone'
returns:
Variable_name | Value
time_zone SYSTEM
在 Centos 7 服务器上 timedatectl
returns:
Local time: Fr 2020-09-25 20:24:14 CEST
Universal time: Fr 2020-09-25 18:24:14 UTC
RTC time: n/a
Time zone: Host (CEST, +0200)
正在使用 DATETIME
类型和默认值 current_timestamp()
将新行插入 table 此字段具有 UTC 时间 [在本例中 2020-09 -25 18:24:14 而不是 2020-09-25 20:24:14].
我的问题:
我做错了什么?我知道如何设置时区,但 SYSTEM
值应该没问题,因为 Centos 7 服务器设置了正确的时区。
更新
1)
回答评论,SELECT @@GLOBAL.time_zone, @@SESSION.time_zone;
returns 第一个 SYSTEM
和第二个“+00:00”。我在 Plesk 环境中 运行 在 PHP 下安装它。
2)
一开始 table 没有这个 DATETIME 字段。当我用 PMA 添加它时,插入的日期时间 [因为该字段被定义为 NOT NULL
] 是正确的!只有当我 运行 INSERT
语句时,它才会插入 UTC 时间。
多亏了Danila Vershinin,我才找到问题所在。正是他的问题 SELECT @@GLOBAL.time_zone, @@SESSION.time_zone;
returns 让我走上了正确的方向。
首先,我 运行 PMA 中的命令返回两个 SYSTEM
。在 PMA 中插入行生成正确的时间。只是我的 PHP 脚本是错误的,在 CakePHP 下 运行 然后我检查了 app_local.php
中的设置,确实有 UTC
作为 timezone
。将 timezone
更改为 SYSTEM
修复了它。
我该怎么说,MariaDB 可以正常工作,并且由于默认的 CakePHP timezone
设置,我 运行 遇到了这个问题。我现在还向问题添加了 cakephp
标签,因为这是问题的原因。