mysql数据库连接超时分析(MySQL数据库时间不对问题排查过程)

生活 科技 更新时间: 2024-08-08 15:23:08

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

代码如下:

mysql数据库连接超时分析(MySQL数据库时间不对问题排查过程)1

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

mysql数据库连接超时分析(MySQL数据库时间不对问题排查过程)2

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

mysql数据库连接超时分析(MySQL数据库时间不对问题排查过程)3

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

show variables like '%time_zone%';

结果如下:

mysql数据库连接超时分析(MySQL数据库时间不对问题排查过程)4

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 下,放入其它位置无效

mysql数据库连接超时分析(MySQL数据库时间不对问题排查过程)5

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

,