mysql5.7 默认值为CURRENT_TIMESTAMP 与实际时间相差8小时
1.写在前面
老手看到这个问题描述应该就能一下子明白是什么原因,那肯定就是时区的问题啊,没错,博主遇到这个问题的时候,第一时间也定位到了问题所在,但是解决的时候,确实走了一点小弯路。
2.正经解决问题
定位到问题所在了,那就直接上手解决,既然是时区问题,那就直接上手。
set time_zone = '+08:00';
-- 刷新 立刻生效
flush privileges;
这么处理结束后,发现依然没有解决问题,这就让博主脑袋大了,8小时的问题,只能定位到时区啊,于是开始网上冲浪了(好老的词汇,不过我喜欢),找了很多文章也无非大同小异。最后博主想了一下,是不是要修改全局变量才能生效,于是有了以下语句。
set @@global.time_zone = '+08:00';
flush privileges;
果然这么处理之后就真的好用了,如果做到这一步,还有小伙伴没能生效,那就关闭数据库连接(并非重启数据库),重新连接一下数据库,之后就能百分百生效了。
至此分享结束,这篇文章很短,主要记录一下博主遇到的这个奇葩小问题,希望能帮助到大家少走弯路,也给自己未来提个醒,再遇到可以回来自己看看。
|