1298: Unknown or incorrect time zone(不明または誤ったタイムゾーン)
MySQL意味
指定されたタイムゾーン名が MySQL に認識されなかった。CONVERT_TZ() の呼出し、time_zone の設定、または名前付きタイムゾーン (例: 'Europe/Istanbul') を参照する操作が、そのタイムゾーンがサーバーで定義されていないため失敗した。
原因
MySQL が名前付きタイムゾーンを使用するには、mysql スキーマのタイムゾーンテーブル (time_zone、time_zone_name など) がロードされている必要がある。これらのテーブルが空の場合は数値オフセット ('+03:00') のみが機能し、名前付きゾーンは不明となりこのエラーが発生する。
対処方法
タイムゾーンテーブルをロードする。Linux では、mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql でシステムの zoneinfo データをインポートし、サーバーを再起動するか FLUSH TABLES を実行する。名前付きゾーンをロードできない場合は数値オフセット ('+03:00') を使用する。名前の綴り (大文字小文字、'Europe/Istanbul') を確認する。
同じデータベースの他の項目
- 1197Multi-statement transaction required more than 'max_binlog_cache_size'(複数文トランザクションが 'max_binlog_cache_size' を超える領域を必要とした)
- 1785Statement violates GTID consistency(文が GTID 整合性に違反)
- 3024Query execution was interrupted, maximum statement execution time exceeded(最大文実行時間を超えたためクエリの実行が中断された)
- 1418Function has none of DETERMINISTIC, NO SQL, or READS SQL DATA (binary logging enabled)(関数に DETERMINISTIC、NO SQL、READS SQL DATA のいずれもない (バイナリログ有効))
- 1231Variable can't be set to the value of ...(変数を ... の値に設定できない)