MySQLのタイムゾーンをUTCからJSTに変更する際のエラーの対応方法

MySQLのデータベースに対して、

時間設定が、

タイムゾーンで、

日本時間からずれていたので、

この点を調整しようとしていました。

その際の対応については、

以下の記事で対応したので、

そちらを参考にしてください。

今回はこの対応を行った際に、

エラーが発生して、

うまく調整できなかったので、

その際の対応のメモを残しておきます。

使用したMySQLのバージョン確認

mysqlのコマンドラインで確認

mysql -V

実行結果

$  mysql -V
mysql  Ver 8.0.31-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))

MySQLのタイムゾーン設定に関する公式情報

まずは、

公式情報もチェックしておくと良いですね。

参考となるページのリンクはこちら。

MySQLの現在のタイムゾーン変更時のエラー

タイムゾーンの変更を行っていきます。

自分の環境はUbuntuですが、

設定ファイル自体を変更することは同じなので、

対象ファイルのパスは、

環境に合わせて調整してみてください。

今回、実行を試したのは、

こちらの調整です。

設定ファイル

/etc/mysql/mysql.conf.d/mysqld.cnf

追加コード

default-time-zone="Asia/Tokyo"

上記のコードで、

デフォルトのタイムゾーンを記載します。

設定に追加コードを入れたら、

MySQLの再起動を行います。

実行すると、

sudo service mysql restart

こちらで再起動すると、

Job for mysql.service failed because the control process exited with error code.
See "systemctl status mysql.service" and "journalctl -xe" for details.

こちらのエラーが発生しました。

エラーログを見てみると、

以下のような内容でした。

エラーログ場所

/var/log/mysql/error.log

エラー内容

[ERROR] [MY-010361] [Server] Fatal error: 
Illegal or unknown default time zone 'Asia/Tokyo'

エラーにならない調整方法

MySQLの現在のタイムゾーンの変更を、

先ほどのうまくいかなかった

コマンドを少し変更します。

元々、試していた調整コード

default-time-zone="Asia/Tokyo"

うまくいった調整コード

default-time-zone="+9:00"

こちらを調整することで、

うまくタイムゾーンが変更されました。

今回の対応に関して、

MySQLのタイムゾーンの変更については、

以下の記事も参考にしてください。

スキルを使って、就職/転職/副業する時のサイト

プログラミングのスキルなどを、自分なりに高めた上で、

自分のスキルをアピールして就職や転職を行い、年収をあげるか、

副業という形で、年収にプラスアルファの稼ぎを増やすことはできます。

まずはできる範囲で取り組むことで、

少しずつ、経験値も増え、自分のスキルが収入につながるのでおすすめです。

おすすめ書籍

広告

おすすめ記事