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のタイムゾーンの変更については、
以下の記事も参考にしてください。
スキルを使って、就職/転職/副業する時のサイト
プログラミングのスキルなどを、自分なりに高めた上で、
自分のスキルをアピールして就職や転職を行い、年収をあげるか、
副業という形で、年収にプラスアルファの稼ぎを増やすことはできます。
まずはできる範囲で取り組むことで、
少しずつ、経験値も増え、自分のスキルが収入につながるのでおすすめです。