系统时间与docker中mysql数据库时间相差八小时解决方法

发布时间 2023-09-06 07:01:09作者: GaoYanbing

情景:在项目中往数据库差数据时,发现时间字段在mysql显示的时间和当前系统时间老是相差八小时,查看可能是mysql当前时区没设置好的问题。

一、docker exec -it your_mysql_name bash进入mysql容器中,mysql -uroot -p 进入mysql, 查看当前时间select now(),发现果然和系统时间相差八小时。
在这里插入图片描述

二、查看mysql当前时区:show variables like '%time_zone%';
在这里插入图片描述
发现时区并不是我们想要的东八区,也就是+8:00

三、找到mysql配置文件/etc/mysql/mysql.conf.d,配置默认时区

default-time-zone = '+08:00'

在这里插入图片描述

四、重启docker中的mysql容器即可,不是docker中的mysql重启mysql服务即可

docker restart your_mysql_name

再次进入mysql中查看当前时间和时区
在这里插入图片描述
在这里插入图片描述
时间和时区都准确。

参考资料来源:https://blog.csdn.net/qq_28018283/article/details/80109290