当前位置: 代码网 > 服务器>服务器>云虚拟主机 > Mysql 在 Docker 中的时区问题记录

Mysql 在 Docker 中的时区问题记录

2024年09月08日 云虚拟主机 我要评论
一、前言国内通常使用的时区是中国标准时间(china standard time,简称 cst),其标识为 “asia/shanghai”。 cst 的 utc 偏移为 utc

一、前言

  • 国内通常使用的时区是中国标准时间(china standard time,简称 cst),其标识为 “asia/shanghai”。 cst 的 utc 偏移为 utc+8,表示比协调世界时(utc)提前8小时。中国标准时间是中国国内的官方时间,覆盖整个国家的时区。
  • mysql 时区一般是跟着系统走的,而在 docker 中安装 mysql 默认时区是 utc。

下面介绍,创建docker容器前、后,分别如何设置 mysql 时区。

二、在 docker 中设置 mysql 时区

2.1 创建容器前

# 在创建容器时指定时区
docker run .... -e tz=asia/shanghai ....

2.2 创建容器后

1、查看 mysql 时区:

mysql> show variables like "%time_zone%";
+------------------+--------+
| variable_name    | value  |
+------------------+--------+
| system_time_zone | utc    |
| time_zone        | system |
+------------------+--------+
mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2023-12-26 09:23:11 |
+---------------------+
1 row in set (0.00 sec)

2、查看 docker 容器时区:

date -r
# 执行结果如下:
tue, 26 dec 2023 09:24:47 +0000
# 在 mysql配置文件加上以下配置,并重启 mysql容器后依然无效~
[mysqld]
default-time-zone='asia/shanghai'

3、修改 docker 容器时区:

1)进入容器,执行 tzselect 命令

# 进入容器
docker exec -it mysql1 /bin/bash
# 执行 tzselect 命令,按下图顺序依次输入:4、10、1、1
tzselect

在这里插入图片描述

2)找到 /etc/profile 文件,在文件中添加如下内容:

tz='asia/shanghai'; export tz

3)使 /etc/profile 修改生效

source /etc/profile

4)再次查看容器时区

date -r
# 执行结果如下,修改已生效:
tue, 26 dec 2023 18:46:19 +0800

5)重启 mysql 容器

docker restart [docker_name]
# 查看 mysql 时区,修改已生效
mysql> show variables like "%time_zone%";
+------------------+--------+
| variable_name    | value  |
+------------------+--------+
| system_time_zone | cst    |
| time_zone        | system |
+------------------+--------+
2 rows in set (0.01 sec)
mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2023-12-26 18:50:09 |
+---------------------+
1 row in set (0.00 sec)

到此这篇关于mysql 在 docker 中的时区问题的文章就介绍到这了,更多相关mysql docker 时区内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com