直接回答:容器默认时区是 UTC,启动时加上 -e TZ=Asia/Shanghai,或者在 MySQL 配置文件里设置 default-time-zone,就能让时间变成东八区。
背景
时区是使用了世界标准时间(UTC)。因为在中国使用,所以需要把时区改成东八区的
或者启动容器时设置
-e TZ=Asia/Shanghai
永久修改
进入容器
1 | docker exec -it mysql5.7 bash |
- 查看当前时区
1 | date -R |
修改时区
1 | cp /usr/share/zoneinfo/PRC /etc/localtime |
临时修改-重启失效
查看时区
select now();修改时区为北京时间
1
2
3
4
5
6
7
8mysql> set global time_zone = '+8:00';
Query OK, 0 rows affected (0.00 sec)
mysql> set time_zone = '+8:00';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
这篇笔记整理自我自己的实践记录,如果做法有出入,或者你踩过别的坑,欢迎到留言板一起聊聊。