MySQL 比系统时间晚 2 小时

MySQL 比系统时间晚 2 小时

有一个装有 MySQL 服务器的 FreeBSD 盒子。

系统时间正确 - 对于丹麦(欧洲/哥本哈根)来说目前是夏令时。

# date
Fri Jun 17 12:09:56 CEST 2011

MySQL 服务器的时区设置为 SYSTEM

mysql> show variables like 'time_zone';
+---------------+--------+
| Variable_name | Value  |
+---------------+--------+
| time_zone     | SYSTEM |
+---------------+--------+
1 row in set (0.00 sec)

时间比现在晚了2个小时

mysql> SELECT NOW();
+---------------------+
| NOW()               |
+---------------------+
| 2011-06-17 10:12:24 |
+---------------------+
1 row in set (0.00 sec)

我怎样才能使它们同步?

更新

该盒子还使用 NTP 同步。

/etc/rc.conf

ntpd_enable="YES"
ntpd_sync_on_start="YES"

答案1

在我看来,MySQL 报告的是 UTC,而 date 报告的是您的本地时间。尝试:

date -u

这与 MySQL 匹配吗?

答案2

(重新)配置你的 TZ

tzsetup

答案3

我发现这是正确答案

/etc/my.cnf在 [mysqld] 部分添加以下行并重新启动:

default-time-zone='Europe/Copenhagen' 

现在MySQL时间显示正确。

mysql> SELECT NOW();
+---------------------+
| NOW()               |
+---------------------+
| 2011-06-21 13:26:40 |
+---------------------+
1 row in set (0.00 sec)

相关内容