この問題を解決するには3つの方法があります。
mysql_tzinfo_to_sql プログラムは、タイムゾーンテーブルをmysqlデータベースにロードします。これは、zoneinfoデータベース(タイムゾーンを記述するファイルのセット)を備えたシステムで使用されます。このようなシステムの例としては、Linux、FreeBSD、Solaris、およびOS Xがあります。これらのファイルの可能性のある場所の1つは、/ usr / share / zoneinfoディレクトリ(Solarisでは/ usr / share / lib / zoneinfo)です。システムにzoneinfoデータベースがない場合は、11.6項「MySQLServerのタイムゾーンのサポート」で説明されているダウンロード可能なパッケージを使用できます。
mysql_tzinfo_to_sql いくつかの方法で呼び出すことができます:
shell> mysql_tzinfo_to_sql tz_dir
shell> mysql_tzinfo_to_sql tz_file tz_name
shell> mysql_tzinfo_to_sql --leap tz_file
最初の呼び出し構文では、zoneinfoディレクトリのパス名を mysql_tzinfo_to_sqlに渡します。 出力をmysqlに送信します プログラム。例:
shell> mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql
mysql_tzinfo_to_sql システムのタイムゾーンファイルを読み取り、それらからSQLステートメントを生成します。 mysql これらのステートメントを処理して、タイムゾーンテーブルをロードします。
2番目の構文により、 mysql_tzinfo_to_sql 単一のタイムゾーンファイルをロードするにはtz_file タイムゾーン名tz_nameに対応します:
shell> mysql_tzinfo_to_sql tz_file tz_name | mysql -u root mysql
タイムゾーンでうるう秒を考慮する必要がある場合は、 mysql_tzinfo_to_sqlを呼び出します。 うるう秒情報を初期化する3番目の構文を使用します。 tz_file タイムゾーンファイルの名前です:
shell> mysql_tzinfo_to_sql --leap tz_file | mysql -u root mysql
mysql_tzinfo_to_sqlを実行した後 、以前にキャッシュされたタイムゾーンデータを引き続き使用しないように、サーバーを再起動することをお勧めします。
ソース: https://dev.mysql .com / doc / refman / 5.7 / en / mysql-tzinfo-to-sql.html
default-time-zone = +0:00
# default-time-zone = UTC
これにより、代わりにOSからタイムゾーンが継承されます。