LoginSignup
9
8

More than 5 years have passed since last update.

MacのローカルのMySQLのタイムゾーンをAWSのRDSのMySQLの設定と合わせる

Last updated at Posted at 2018-04-26

目的

ローカル開発環境とサービスが稼働しているRDSとの間で、タイムゾーンの差異をなくす。

環境

  • Mac OS - 10.13.4
  • MySQL 5.7.15

MySQLのタイムゾーンの確認の仕方

sql
show variables like '%time_zone%';

MacのMySQLのデフォルトのタイムゾーン

sql
mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| system_time_zone | JST    |
| time_zone        | SYSTEM |
+------------------+--------+
2 rows in set (0.00 sec)

AWSのRDSのMySQLのタイムゾーン

sql
mysql> show variables like '%time_zone%';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| system_time_zone | UTC   |
| time_zone        | UTC   |
+------------------+-------+
2 rows in set (0.07 sec)

ということで、system_time_zonetime_zone がUTCになるように設定ファイルを設定する。

ローカルにタイムゾーン情報を読み込む

設定の前に、下記コマンドでタイムゾーン情報を読み込む。

console
$ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql

MacのMySQLの設定ファイルを書く

設定ファイルの読み込まれる順番は下記のコマンドで確認できる。

console
$ mysql --help | grep my.cnf

                      order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf

左から順番に読み込まれ、上書きされていく。
ということで、~/.my.cnf に設定ファイルを配置する。

console
$ vi ~/.my.cnf

下記の内容で保存する。

~/.my.cnf
[mysqld_safe]
timezone = UTC

[mysqld]
default_time_zone = UTC

[mysqld_safe] の記述は system_time_zone をUTCに、[mysqld] の記述は time_zone をUTCに設定する。

設定を適用させるためにMySQLを再起動する。

console
$ mysql.server restart

Shutting down MySQL
.. SUCCESS!
Starting MySQL
. SUCCESS!

設定適用後のMacのMySQLのタイムゾーン

sql
mysql> show variables like '%time_zone%';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| system_time_zone | UTC   |
| time_zone        | UTC   |
+------------------+-------+
2 rows in set (0.00 sec)

目的を達成できた🎉

参考

9
8
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8