2週間後、タイムゾーンの問題に戸惑いました。ローカルホストではすべて正常に機能していますが、専用サーバーでは間違った値が返されます。私がこれまでに何をしたかを教えてください。
最初に以下のクエリでグローバルタイムゾーンを設定します:(ローカルホストとサーバーの両方でのスーパー特権)
SET GLOBAL time_zone = '+00:00';
クエリの下で実行して、実行された内容をクロスチェックします
SELECT NOW(),@@global.time_zone AS gtz,@@session.time_zone AS stz,
TIMEDIFF(NOW(), CONVERT_TZ( NOW() , @@session.time_zone , '+00:00' ) )
AS OFFSET;
ただし、ローカルサーバーと専用サーバーでは異なる結果が表示されます
ローカルホスト(192.168.xx)のmysqlバージョン:5.5.8
+---------------------+--------+--------+----------+
| NOW() | gtz | stz | OFFSET |
+---------------------+--------+--------+----------+
| 2012-07-02 07:06:55 | +00:00 | +00:00 | 00:00:00 |
+---------------------+--------+--------+----------+
1 row in set (0.00 sec)
専用サーバー(182.168.xx)のmysqlバージョン:5.1.53-log
+---------------------+--------+--------+----------+
| NOW() | gtz | stz | OFFSET |
+---------------------+--------+--------+----------+
| 2012-07-02 12:37:59 | +00:00 | +00:00 | 00:00:00 |
+---------------------+--------+--------+----------+
私の質問は
タイムゾーンが+00:00に設定されているのに、NOW()が間違った時刻(上記はIST)を返すのはなぜですか?
サイドノート :
以下のクエリを実行します
SHOW VARIABLES LIKE '%time%zone%';
ローカルホストで
+------------------+---------------------+
| Variable_name | Value |
+------------------+---------------------+
| system_time_zone | India Standard Time |
| time_zone | +00:00 |
+------------------+---------------------+
サーバー上
+------------------+---------------------+
| Variable_name | Value |
+------------------+---------------------+
| system_time_zone | GMT+5 |
| time_zone | +00:00 |
+------------------+---------------------+
これは結果に影響しますか?また
以前のバージョンのmysqlにバグはありますか?
私を助けてください。