从产线库导出sql,在导入测试机,报错
[ERR] 1292 - Incorrect datetime value: ‘2019-03-10 02:26:06’ for column ‘CREATE_TIME’ at row 1
# date
Mon Sep 23 03:33:12 EDT 2019
mysql> show variables like "%time_zone%";
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | EDT |
| time_zone | SYSTEM |
+------------------+--------+
2 rows in set (0.22 sec)
EDT 查出来是纽约时区 -0400 夏令时 DST的一种。。。
看了一堆文章,发现这个解释很清楚
https://time.artjoey.com/cn/usa.htm

因为用的是EDT时区,所以2019年3月10日2am开始按夏令时,直接就调到3am,也就是说2019-03-10 2-3am这个小时是不存在的,所以会报 Incorrect datetime value。
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
systemctl restart mysqld
mysql> show variables like "%time_zone%";
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | CST |
| time_zone | SYSTEM |
+------------------+--------+
2 rows in set (0.04 sec)
本文详细解析了在将产线库SQL导入测试机时遇到的因夏令时调整而引发的日期时间格式错误问题。具体表现为,2019年3月10日的2:26:06在夏令时调整中被跳过,导致MySQL无法正确识别该时间戳,从而抛出Incorrect datetime value错误。通过调整系统时区至上海(CST),问题得以解决。
1361

被折叠的 条评论
为什么被折叠?



