我在一个共享的unix服务器上。
它具有默认时区-06:00:00
根据MySQL Manual
,我试图通过执行以下命令来设置时区:
SELECT CONVERT_TZ('2004-01-01 12:00:00','-06:00','+07:00');
命令正在执行,但不会影响时区。服务器或我的SQL
命令出了什么问题?
谢谢,
您在一个共享的unix服务器上,所以您可能不想更改MySQL服务器的时区(除非您想扰乱其他使用它的人)。
查看文档中的CONVERT_TZ-它不设置时区,而是将日期时间从一个时区转换到另一个时区。它返回一个日期时间。
对于您的示例,SELECT CONVERT_TZ('2004-01-01 12:00:00','-06:00','+07:00');
正确地返回2004-01-02 01:00:00
。
如果您更改连接的时区,这不会对其他用户产生任何影响,但会允许您在连接上的所有事务在不同的默认时区进行。用途:
SET time_zone = {timezone}; -- where {timezone} is the timezone you want to use
看看http://dev.mysql.com/doc/refman/5.1/en/time-zone-support.html对于文档
如果您想检查mysql服务器时区
使用以下SQl查询
SELECT @@global.time_zone, @@session.time_zone;
如果你想更改时区,你可以简单地尝试这个
set @@global.time_zone = '+07:00'
这将更改mysql服务器的时区。
注意:如果您重新启动服务器,更改将被刷新,在这种情况下,您应该再次启动上述查询。
希望这能有所帮助。