问题引出
在阿里云的Linux服务器上用docker搭建了一个mysql,然后用navicat连接后,执行将时间戳转化为日期的语句后发现时间少了8个小时,最终确定原因是docker中linux默认时区时utc的,而我们通常使用的est的,而cst刚好比utc大了8个小时,因此查询出来就少了8个小时。
UTC:世界协调时间,也就是零时区的时间;CST: 中国标准时间,中国是东八区,故比UTC大8小时
时区
地球上不同地区时间的划分
mysql中的时区
show variables like ‘%time_zone%’ 命令查看
正常的linux中的mysql
docker中的mysql
linux中的时区、docker中的时区
date -R命令查看
修改docker容器时区
这样docker中mysql使用的系统时区就是正确的了
ps:顺便说一下,docker安装mysql设置大小写不敏感的问题
docker安装mysql设置大小写不敏感