MySQL-插入时间差八小时问题的解决方法

如果往数据库插入一条当前时间的记录,发现插入的时间比本地时间早8个小时,可以通过以下方法进行排查与解决:

1
2
3
4
5
6
7
8
9
10
11
# 在数据库中查看当前时间,如果与本地时间一致,则代表 MySQL 的时间没有问题,问题出现在插入代码上
select now();

# 如果不一致,则使用以下语句进行设置
# 1. 查询当前时区
show variables like '%time_zone%';
# 2. 在标准时区上加+8小时,即东8区时间
set global time_zone='+8:00';
# 3. 立即生效
flush privileges;
# 4. 退出后重新登录,即可看到数据库时区为东八区