web-dev-qa-db-ja.com

MySQLの接続タイムゾーンを変更する

私のサーバーはMDTで実行されています

だから私はESTを変換するために次のものを使用した

SET  time_zone = '-5:00'

しかし、どうすればEDTに切り替えることができますか

While `EST` is only valid in winter, while in summer how to change it to `EDT`

名前付きタイムゾーンを使用しようとしました。しかし、私は次のエラーが発生しています

 #1298 - Unknown or incorrect time zone: 'America/Toronto'

この問題を解決する方法がわかりません

切り替え方法

UTC -05からUTC-04

27
Gowri

Windowsを使用しているため、タイムゾーンの説明テーブルをMySQLサーバーにインポートする必要があります。

http://dev.mysql.com/downloads/timezones.html

11
Alpha01

Linux、BSD、およびMac OS Xの場合、タイムゾーンテーブルをロードする必要がある場合は、次を実行します。

$ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -uroot mysql
64
Steve Tauber

私のためにWindowsを使用してWampServer

  • pOSIXバージョンを https://dev.mysql.com/downloads/timezones.html からダウンロードします
  • 解凍する
  • すべてのファイルをwamp mysqlデータに入れます:C:\ wamp\bin\mysql\mysql5.7.11\data\mysql
  • ワンプを再起動する

より詳しい情報:

「MyISAMタイムゾーンテーブルに.frm、.MYD、および.MYIファイルを含むタイムゾーンパッケージを使用するには、ダウンロードして解凍します。これらのテーブルファイルはmysqlデータベースの一部であるため、MySQLサーバーのデータディレクトリのmysqlsubdirectoryにファイルを配置する必要があります。これを行う前にサーバーを停止し、その後再起動してください。」

http://dev.mysql.com/doc/refman/5.7/en/time-zone-support.html#time-zone-installation

4
Andrew

略語の代わりに「America/New_York」などのzoneinfo名を使用しようとしましたか(これは半分の時間のみ有効です)。

理想的には、サーバーのタイムゾーンはもちろん使用しないでください。UTCで日付を保存してから、クライアントコードで適切なタイムゾーンに変換してください。 (これは、何を保存しているかによって異なります。タイムゾーンを持つユーザーが指定する将来の日付/時刻値は、any他のタイムゾーンに変換せずに、そのまま保存する必要がありますルールは現在と将来の日付/時刻の間で変更されます。しかし、マシンによって記録された瞬間、例えばロギング、トランザクションなどのために、私は間違いなくUTCを保存します。クライアントにも同じルールがあります。」)

1
Jon Skeet

完全を期すために、Macユーザーはmysql_tzinfo_to_sqlユーティリティを/usr/local/mysql/binディレクトリで見つけることができます。

したがって、完全なコマンドは/usr/local/mysql/bin/mysql_tzinfo_to_sql /usr/share/zoneinfo | ./mysql -p -u root mysqlになります

私はユーティリティを見つけるのに何時間も費やしました、上記のパスはあなたのものを救うかもしれません!

0
Nadeem Jamali