为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:3.0.3
- 【DM 版本】:1.0.2
- 【问题描述】:
1:task任务状态为running 但是 unit 的状态为Dump 持续时间已经一个小时了
2:dm-worker 的日志中出现了一个错误是
(relay_log中的relay.meta pos值也有变化)这种情况是怎么回事呢?
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
2:dm-worker 的日志中出现了一个错误是
(relay_log中的relay.meta pos值也有变化)这种情况是怎么回事呢?
一直 dump 是正常的,可以看下 dump 下来的 data 数据目录是否在增长,或者 mysql show processlist 看下是否一直在变化,通过前面的排查一直 dump 正常,报错可以忽略。
再观察下,一直不增长应该是 dump 结束。
1:relay.meta文件中的 binlog-pos = 961422389和10分钟之前一样,刚重新查询了task的状态unit还是为Dump
帮忙确认一下上游 MySQL 端是否 kill 过链接,看日志给出来有 auto_resume sub task,比如有长链接 kill 机制或者出现了 OOM 导致连接断开。日志信息再给多一些,方便排查问题,谢谢,辛苦。
建议排查下上游 MySQL 服务,根据 MySQL server has gone away 可能的情况看下:https://blog.csdn.net/swatyb/article/details/83552606
并没有异常
看日志报错是上游的问题,DM 这块是没问题,建议从上游排查。
请问,上游同步到dm执行过的SQL语句在哪里看
DM 生成和执行过的 SQL 分别从下述位置查看:
1、DM 生成的 SQL 查看方式
DM worker 修改 log-level 为 debug 模式后,可以看到 DM 转换后的 SQL 语句,debug 开启方式可参考下述链接:
https://pingcap.com/docs-cn/stable/how-to/deploy/data-migration-with-binary/#dm-worker-的部署
2、DM 执行过的 SQL 的查看方式
查看 DM 执行过的 SQL 可以通过将 TiDB server 的 general log 开启或者将 slowlog 的阈值设置为 0,均可看到发送至 TiDB server 的语句。设置方法参考如下链接: