

MySQLのタイムゾーン設定について質問があります。  
下記のDockerfileを使用し、ビルド、ランするとコンテナがエラーを出力しexitしてしまいます。

mysql_tzinfo_to_sqlコマンドでtime zoneのテーブル情報をロードするような  
方法を試しましたが、解消しません（さらに元々読み込まれているようでした）。

ご教授いただければと思います。

**Dockerfile**

[code]

    FROM mysql:5.7
    
    RUN { \
        echo '[mysqld]'; \
        echo 'default-time-zone = "Asia/Tokyo"'; \
    } > /etc/mysql/conf.d/timezome.cnf
    
[/code]

**エラーメッセージ**

[code]

    Fatal error: Illegal or unknown default time zone
    
[/code]


CC BY-SA 4.0
2019-10-19T04:21:12.313
59800
2022-04-15T05:06:05.660
2019-10-19T06:09:27.767
3060
34792
question
mysql docker
Dockerコンテナ上のMySQLにタイムゾーンの設定を反映するには？


MySQLのタイムゾーンテーブルに`Asia/Tokyo`というタイムゾーンが存在しないのだと思います。

一般的に`mysql-tzinfo-to-sql`を使ってロードするためのSQLを作成して、`mysql`でロードします。  
[MySQL :: MySQL 5.6 リファレンスマニュアル :: 4.4.6 mysql_tzinfo_to_sql —
タイムゾーンテーブルのロード](https://dev.mysql.com/doc/refman/5.6/ja/mysql-tzinfo-to-
sql.html)

[code]

    mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql
    
[/code]

私はやったことがありませんが、Dockerでやる場合の例が、本家Stackoverflowにありました。ご参考まで。  
[Configure time zone to mysql docker container - Stack
Overflow](https://stackoverflow.com/questions/49959601/configure-time-zone-to-
mysql-docker-container)


CC BY-SA 4.0
2019-10-21T12:29:11.457
59852
2019-10-21T12:29:11.457
12561
59800
answer