系统时间与docker中mysql数据库时间相差八小时解决方法
情景:在项目中往数据库差数据时,发现时间字段在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