MySQL记录时间戳已更改

时间:2014-11-24 17:03:44

标签: mysql time centos

我使用此命令更改了服务器时间

cp /usr/share/zoneinfo/US/central etc/localtime

自从我改变了服务器时间。我的所有MySQL记录都提前6小时更改了时间戳字段。我尝试更改时间,记录不会更新。有任何想法吗?

Web服务器操作系统是CentOS

2 个答案:

答案 0 :(得分:4)

时间戳没有改变。问题是数据库仍然使用旧的时区(我估计时间差是UTC)。您期望获得的get值也应该更改数据库时区。

以下是更好地说明如何执行此操作:How do I set the time zone of MySQL?

但基本上你可以用这个命令永久地改变它(全局):

SET GLOBAL time_zone = 'America/New_York'; 

或与其他会话:

SET time_zone = 'America/New_York';

答案 1 :(得分:1)

timestamp是MySQL中的会话变量。它反映了now()返回的值。欲了解更多信息,请阅读:http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_time_zone

您可以在MySQL my.cnf 配置文件中指定默认时区为:

default_time_zone=America/New_York

并重新启动MySQL服务:

sudo service mysqld restart