问题描述:
项目中使用mybatis查询数据库,用到了sysdate()函数,选择小于等于当前时间的数据,前端页面展示没有数据。使用navicate查询结果如图所示,确实是相差8小时。
1.使用navicat,右键选择命令列界面进入。
2.输入命令查询
解决方案一
1.set global time_zone = '+08:00';
2.set time_zone = '+08:00';
3.flush privileges;
4.select sysdate();
但是这个方案有个缺点是容器重启后又会还原,只适用于临时解决方案。
解决方案二
参考https://blog.csdn.net/qq_31279347/article/details/88645307
解决方案三
因为我是在docker上对mysql进行的环境配置,所以就在docker-compose.yml上添加了一行配置。
1、这是我最开始docker-compose.yml上mysql的配置内容,
2、执行命令,加入 - "TZ=Asia/Shanghai" ,保存然后重启mysql容器即可。
vim docker-compose.yml