3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CentOS7でMySQLのタイムゾーンを変更する

Last updated at Posted at 2018-05-11

調べても出てこなかったので、備忘録的に残しておきます。

やりたいこと

CentOS 7.2 にインストールされたMySQLのタイムゾーンをJSTからUTCにしたい。

調べたら出てくる解決方法

my.cnf
$ cat /etc/my.cnf 
[mysqld_safe]
timezone = UTC

my.cnfが上記の状態でMySQLを再起動するが、変化なし。

はじめは原因が全くわからなかった

記述場所の問題やConfが上書きされている可能性を考えたが、全てクリア。

MySQLのタイムゾーン情報を取り込んでるし、

SET GLOBAL timezone=UTC

を実行すると変更されるので、起動時に設定が正しく反映されていないのはわかったんですが。

原因

調べてる過程で、mysqld_safeにオプション渡して起動してみようと思ったら、mysqld_safeがなかった。

なんでやねん、と思ってたらこんな情報を発見した。

記事内抜粋:
CentOS 7ではsystemdで管理されているため、mysqld_safeが使用できないようです。

これか・・・。

対応

というわけで、my.cnfで設定の記述場所を以下に変更。

my.cnf
$ cat /etc/my.cnf 
[mysqld]
timezone = UTC

mysqld_safeのオプションはmysqldに渡されているので、mysqldの設定に記述してしまえばよいのでは、的な発想。

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

いけたっぽい。

正しいのかは知らんけど。

3
0
0

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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?