【設定方法】Dockerで構築したMySQLのタイムゾーンをSYSTEMからAsia/Tokyoへ変更する設定手順

MySQLDocker
【設定方法】Dockerで構築したMySQLのタイムゾーンをSYSTEMからAsia/Tokyoへ変更する設定手順
Memo
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Dockerで構築したMySQLのタイムゾーンをSYSTEMからAsia/Tokyoへ変更する設定手順をメモしました。

MySQLのタイムゾーンの現在の設定

DockerのMysqlコンテナへログイン

DockerのmysqlというMysqlコンテナへログインします。

terminal
$ docker exec -it mysql /bin/bash

MySQLへログイン

mysqlコマンドからMySQLへログインします。

terminal
$ mysql -u root -p // パスワードを入力

タイムゾーンの設定確認

下記SQLコマンドでタイムゾーンの確認をします。

MySQL
> show variables like '%time_zone%'; +------------------+------------+ | Variable_name | Value | +------------------+------------+ | system_time_zone | UTC | | time_zone | SYSTEM | +------------------+------------+

MySQLのタイムゾーンの変更手順

my.confの追記

my.confdefault-time-zoneを追記します。

my.cnf
[mysqld] default-time-zone = 'Asia/Tokyo'

MySQLの再起動

docker-composeで起動しているためdocker-composeコマンドで再起動します。
他のケース(OSへインストールしている場合など)は適宜それぞれ対応(systemctlコマンドで再起動する)してください。

MySQLコンテナの停止

docker-composeコマンドでMySQLコンテナの起動を停止します。

$ docker-compose down

MySQLコンテナの起動

docker-composeコマンドでMySQLコンテナの起動を起動します。

$ docker-compose up -d

MySQAのタイムゾーンの設定を再確認

DockerのMysqlコンテナへログイン

DockerのmysqlというMysqlコンテナへログインします。

terminal
$ docker exec -it mysql /bin/bash

MySQLへログイン

mysqlコマンドからMySQLへログインします。

terminal
$ mysql -u root -p // パスワードを入力

タイムゾーンの設定確認

下記SQLコマンドでタイムゾーンの確認をします。

MySQL
> show variables like '%time_zone%'; +------------------+------------+ | Variable_name | Value | +------------------+------------+ | system_time_zone | UTC | | time_zone | Asia/Tokyo | +------------------+------------+

これで変更が確認できました。

終わりに

最後までご覧いただきありがとうございます。
この記事では【設定方法】Dockerで構築したMySQLのタイムゾーンをSYSTEMからAsia/Tokyoへ変更する設定手順について紹介させていただきました。

これからも皆様の開発に役立つ情報を提供していきたいと考えています。
今後ともよろしくお願いいたします。