解决docker中的mysql:5.7使用timestamp时间戳自动生成时间,却与当前系统时间差八小时的问题

我使用的是mysql:5.7版本,这个版本,有timestamp时间戳这个字段,可以自动插入时间。

但我在使用的时间,发现插入的时间,与系统当前时间差了8小时。

首先看一上表结果:

在这里插入图片描述

在这里插入图片描述

数据库显示的是12多,而实际当前时间是20点多,而且分秒都是对的,但就是差了8小时。

这个是什么原因呢?

想想不难发现。

因为数据库是老外发明的,自然默认时间是他们那儿的,而我们要跟自己的时间对上,那就需要改时区,改成我们自己的时区(东8区)。

解决办法

在创建容器的时候加上这个字段:

-e TZ=Asia/Shanghai

这个是改成亚洲/上海时区的时间。

完整docker代码如下:

docker run -itd --name mysql02 -p 3307:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=admin123 mysql:5.7

在这里插入图片描述

时间正常问题解决!!!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐