我在共享的unix服务器上。
它具有默认时区-06:00:00
根据MySQL Manual
我试图通过执行以下命令来设置我的时区:
SELECT CONVERT_TZ('2004-01-01 12:00:00','-06:00','+07:00');
正在执行命令,但它不会影响时区。服务器或我的SQL
命令有什么问题?
感谢,
答案 0 :(得分:1)
如果要检查mysql服务器时区
使用以下SQl查询
SELECT @@global.time_zone, @@session.time_zone;
如果你想改变时区,你可以试试这个
set @@global.time_zone = '+07:00'
这将改变mysql服务器的时区。
注意:如果重新启动服务器,将刷新更改,在这种情况下,您应再次触发查询。
希望这会有所帮助。
答案 1 :(得分:1)
你在共享的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了解文档