mysql数据导入tidb时间不一致

【TiDB 使用环境】生产环境
【TiDB 版本】
6.5.11
【操作系统】CentOS Linux release 7.7.1908 (Core)
【部署方式】云上部署(什么云)/机器部署(什么机器配置、什么硬盘)
阿里云
【集群数据量】
4TB
【集群节点数】
15
【问题复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
mysqldump 导出 --where=“create_time >= ‘2025-06-04 00:00:00’ AND create_time < ‘2025-06-05 00:00:00’” 数据,导入tidb后日期变成2025-06-05,其他的时间都没问题,从2023年到2025年6月3号,就6月4号有问题,截图如下:
1.mysql导出数据查看是正常的。


2.tidb查看数据日期有问题。

【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面

【复制黏贴 ERROR 报错的日志】
mysql的时区:


tidb的时区:

但是生产环境,不要随便修改时区。
【其他附件:截图/日志/监控】

1 个赞

这个是用什么工具/软件查的?

create_time是什么类型

群里回复的我以为就是时间区域问题…看来 不是


timestamp 的字段时间类型,两边是一样的。

反复的验证是timestamp的问题,但是现在又有个头疼的问题,就是mysqldump导出的时候–where=“date(create_time) =‘2025-06-04’” 会导出2025-06-05号的数据,这个是另外一个维度的问题了。。。

问题也解决了,加了 --default-character-set=utf8 --tz-utc=0 就可以了

又测试验证了一下,只要mysqldump导出加了–default-character-set=utf8 --tz-utc=0 字段是timestamp 和datetime 都是正确的。所以和字段时间类型没有关系的。

学习了

时间戳同步问题吧

时区一样吗,注意数据库的时区和你当前数据库和基础环境的时区是不是一致

又学到了一个小技巧,以前是经常用mysqldump。现在不用了。

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。