DM同步 时区问题

  • 【TiDB 版本】:5.7.25-TiDB-v4.0.2
  • 【问题描述】:从库同步到tidb库数据,时区错误,少8小时
    表字段信息:

    image

relaylog:


1597829410 → 2020-08-19 17:30:10

tidb查询:
image

tidb时区参数:
image

求助社区小伙伴帮忙排查下

  1. 麻烦查询 SELECT @@global.time_zone, @@session.time_zone;
  2. 如果使用的SYSTEM 表明使用系统时间, select now() 和 curtime();
  3. 麻烦使用命令行在 tidb 服务器查看下值的结果,不要使用客户端工具,多谢。

image

刚才试了一下,重新起一个同步任务,在全量同步阶段时间是没问题的,增量的数据是有问题的

我在tidb库里创建一张表,dt字段类型和问题中的类型一致,手工插入一条数据,时间没有问题
image

如果 TiDB 端没有问题,麻烦检查下 dm 配置的服务器上的时区信息,多谢。

我们DM部署是一个master,2个worker,用docker起的
昨天调查问题时发现时区是UTC,然后3个容器都修改成CST了,
修改后重新创建了一个同步任务,试了下时区还是不对

DM服务没有做重启

建议可以把dm任务重新部署一下,多谢

我重新创建了一个同步任务,试了下,时区还是不对
我看binlog中的同步sql,value是个时间戳,验证时间戳是没问题的,感觉还是tidb查询数据显示的问题,
但是新创建表,字段类型一致,手工创建一条数据又没有问题,

不知道DM同步时是否有对时间戳转换,然后insert到表里,转换是否有问题

能否麻烦您检查下上游到 TIDB 这一链路上的所有主机的时区是否都是一致的?

上游服务器时区修改正确后,需要重启dm-master服务才能生效
感谢社区支持

:+1:

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