我使用此命令更改了服务器时间
cp /usr/share/zoneinfo/US/central etc/localtime
自从我改变了服务器时间。我的所有MySQL记录都提前6小时更改了时间戳字段。我尝试更改时间,记录不会更新。有任何想法吗?
Web服务器操作系统是CentOS
答案 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