LXL:
- 分析原因后通过查找相关资料,以下两种方法亲测有效哦!!!
第一种方法:
- 通过修改 Mysql 的 Variables 属性,临时修改,重启后无效。
# 进入容器
docker exec -it mysql1 /bin/bash
# 连接 mysql 服务
mysql -uroot -p
# 设置全局会话时区
set global time_zone = '+08:00';
# 设置当前会话时区
set session time_zone = '+08:00';
# 设置后查看 Mysql 时区配置属性。
show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | UTC |
| time_zone | +08:00 |
+------------------+--------+
第二种方式:
- 通过修改 Docker 容器所使用的时区,永久修改。
# 进入容器
docker exec -it mysql1 /bin/bash
# 下列方法 1~3 中任选其一即可:
# 1.强制生成 Asia/Shanghai 时区文件软链接
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# /Shanghai 软链接实际指向 PRC 文件,将其复制为 localtime 时区文件
cp /usr/share/zoneinfo/PRC /etc/localtime
# 3.通过 tzselect 命令,可选择 Beijing、HongKong 城市时区
tzselect
# 修改后查看当前容器时区
date -R
Mon, 15 May 2023 23:05:49 +0800
# 连接 mysql 服务
mysql -uroot -p
# 设置后查看 Mysql 时区配置属性。
show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | CST |
| time_zone | SYSTEM |
+------------------+--------+