Docker下安装MySQL数据库时区为UTC的解决方法

一、安装mysql数据库

二、运行mysql数据库

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e TZ="Asia/Shanghai" -d mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

执行以上命令。当前所打开的容器时区已经设置为北京时间

验证容器时区是否正确,执行以下命令:

1
docker exec [容器id/别名]  date

在已经运行的容器中修改时区

进入容器里面

1
docker exec -it [容器id/别名] /bin/bash

找到通用时区文件夹

1
cd /usr/share/zoneinfo/Asia

复制当前文件夹下Shanghai

1
cp Shanghai /etc/localtime

重启容器即可。

1
docker restart [容器id/别名]

数据库连接时,插入数据日期时间还是不对

出现以上问题时,请检查数据库连接URL是否正确。添加如下字段:

useUnicode=true&characterEncoding=UTF8&useSSL=false&serverTimezone=Asia/Shanghai

last update time 2022-03-03