在我的服务器中,我从命令行获得以下内容:
]$ date
Fri Sep 16 13:47:02 JST 2011
哪个是正确的。
在mysql中,我有以下内容:
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2011-09-16 04:50:21 |
+---------------------+
1 row in set (0.00 sec)
mysql> SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| SYSTEM | SYSTEM |
+--------------------+---------------------+
1 row in set (0.00 sec)
因此,它设置为系统时间,但为什么不显示同一时间?
答案 0 :(得分:2)
您需要在更改System ..的时区后重新启动mysqld。
MySQL的全球时区需要系统的时区。当您更改系统的任何此类属性时,只需重新启动Mysqld。
就是这样。
答案 1 :(得分:0)
您的查询以UTC格式返回值,但是从命令行输出您的系统是在JST中。由于变量返回SYSTEM,我建议您的配置可能已将系统识别为UTC。按照How do I make MySQL's NOW() and CURDATE() functions use UTC?的建议查看您的my.cnf。