问题
数据库插入的时间统统相差8个小时。
排查过程
-
//初步怀疑服务器时间不对。date看下时间是对的 //然后怀疑代码问题,检查代码后没有问题 //最后怀疑mysql的问题。 --docker exec -it mysql /bin/bash --mysql -uroot -p --show variables like '%time_zone%' +------------------+--------+ | Variable_name | Value | +------------------+--------+ | system_time_zone | UTC | | time_zone | SYSTEM | +------------------+--------+ //可见使用的是系统时区 -- set time_zone ‘+8:00’; -- select now(); +---------------------+ | now() | +---------------------+ | 2019-10-29 15:09:31 | +---------------------+ 1 row in set (0.00 sec) //发现时区是对的 然后新建一个时间插入操作发现时间还是不对的,然后怀疑没有重启的问题。 //重启 docker container mysql restart //这下该对了吧,重新执行插入操作还是不对。无语 //怀疑重启之后刚才改的失效了比较是docker内置的 //然后咋整,别怕还有办法,这下我们直接改文件 -- docker cp mysql:/etc/mysql/my.cnf ./my.cnf -- vim my.cnf 最后一行加上 default-time-zone = '+8:00' -- docker cp ./my.cnf mysql:/etc/mysql/my.cnf -- docker container mysql restart 问题得到解决