发现mariadb数据库时间晚了12个小时

Posted 雅冰石

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了发现mariadb数据库时间晚了12个小时相关的知识,希望对你有一定的参考价值。

一  问题描述

当前时间是2022年6月27日11:32,但是我在数据库里查当前时间却比现在晚了12个小时:

SELECT NOW();

2022-06-26 23:30:51

发现时区是美国时区(EDT),非中国时区:

 二 排查思路

看下操作系统的时区是什么(执行date命令),如果操作系统的时区不对,那数据库里的时区也不会对。

需要修改下操作系统时区(请参考linux CST与EDT时区互转_雅冰石的博客-CSDN博客),然后重启下数据库。

若不想重启线上数据库,也可以通过执行命令:

SET  global time_zone = '+8:00';

只是set命令仅对新建连接生效,不会改变已有连接的。
所以之前连接还是之前的时间,我建议最好是在晚上重启下数据库(不用set global,直接重启数据库就行)

以上是关于发现mariadb数据库时间晚了12个小时的主要内容,如果未能解决你的问题,请参考以下文章

在MongoVUE中发现插入的时间和实际的时间相差8小时?

如果 mysql/mariadb 中的日期早于 1 小时,请更改列值?

rabbitmq template发送的消息中,Date类型字段比当前时间晚了8小时

1986~1991年JS时间差一小时的奇怪问题

VueJS 执行数据函数太晚了(?)

JDBC时间有12小时时差问题