mysql时区_MySQL数据库时间不对问题排查过程

开发过程中大家都知道凡是与时间有关的,都离不开时区。程序中影响时区的东西太多了,简单说下我这次遇到的问题。

代码如下:

00e2ed72e81751397332a29df348cde9.png

按说这个时间是没有问题的吧,但是存入数据库后时间显示的与当前时间不对。如下:

00fd746af13a84b5a1437cbe01103212.png

比实际时间晚了十几个小时。我查了linux系统的时间好像是没有问题的:

c2062981c1a0221a397f03739e8c3b65.png

我又排查了mysql时区,执行下面命令:

show variables like '%time_zone%';

结果如下:

61dc4d88ca41704d32600c1847cdde69.png

time_zone:说明mysql使用system的时区

system_time_zone:说明system使用CST时区

time_zone是系统时区显示的SYSTEM,把时区改成+8使用下面的命令:

方法1:

set time_zone='+8:00';flush privileges;

方法2:

找到my.ini, 在mysqld 下增加 default-time-zone = '+8:00'

必须放到mysqld 下,放入其它位置无效

40f0bc65c90314c6471759f6df7aba9e.png

改好以后发现数据库时间与当前时间对了。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值