简介
mysql数据库初次安装完成后,默认是UTC 0时差。
UTC是Universal Time Coordinated,协调世界时,又称世界统一时间。是格林尼治时间的一个版本。
国内使用的是东八区时间,时区为UTC+8。因此如果mysql数据库初次安装后,未进行时区配置的话,时间会与国内时间不一致。此时进行一些CURDATE()或者NOW()函数操作时,结果将与代码不一致,尤其是对于定时任务或者数据同步任务,较大数据量时将导致数据一致性异常。
检查及修改方式
- 通过navicat等工具或者命令行,进入mysql数据库
- 输入sql语句查询时区,此时结果应为2个UTC:SHOW VARIABLES LIKE '%time_zone%';
- 输入修改时区命令,并刷新配置信息
SET GLOBAL time_zone = '+8:00';
SET time_zone = '+8:00';
flush privileges;
输入sql语句查询当前时间是否正确
SELECT NOW();