如何修改通过docker部署mysql的时区

103 阅读1分钟

注:本文为学习时记录的笔记,内容尚浅,后续有时间可能会完善

前言

作者在部署自己的小应用时发现数据库保存的时间与本地时间不一致,甚至相差了几个小时,仔细一想我使用的云服务器位处美国,时区不一致导致的时间问题(这里我添加记录时生成的时间数据为数据库的当前时间),修改mysql容器时区后即可解决问题

永久修改

进入mysql容器

docker exec -it mysql bash

查看当前时区

date -R

修改时区为上海


ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 退出
exit
# 重启容器生效
docker restart mysql

临时修改(重启失效)

mysql> 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)