Mysql数据库存储数据时间与系统获取时间不一致

时间:2024-03-05 10:07:17

最近进行项目开发,发现存在数据库内的数据和系统查询到的数据相差8小时

发现有2种比较合适的方法

(一)修改mysql服务的区时

centos进入mysql查看/修改时区

1.输入以下命令进入mysql

mysql -uroot -p

 

然后输入 password

 

2.查看mysql上的当前时间

select curtime();

 

3.查看时区

show variables like "%time_zone%";

#time_zone如果是system说明mysql使用system的时区(东八区获取到的时间会实际时间少4小时,需要在程序application.yml),system_time_zone说明system使用CST时区

4.设置区时(time_zone)为东八区

set time_zone=\'+8:00\';

上图我的时间是已经执行设置好后的显示

(二)在程序中设置mysql的区时

--针对application 可以设置:

serverTimezone=Asia/Shanghai

 

与修改服务器上mysql区时效果一致

注:

生产服务器尽量不要改动,建议大家在程序中进行区时设置。