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" 

它看起来像MySQL报告UTC,date是报告你当地的时间。 尝试:

 date -u 

这是否匹配MySQL?

(重新)configuration你的TZ

 tzsetup 

我发现这是正确的答案 。

将以下行添加到[mysqld]部分的/etc/my.cnf中,然后重新启动:

 default-time-zone='Europe/Copenhagen' 

现在MySQL时间显示正确。

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