开发者社区> 问答> 正文

canal丢失某个时间点的新增数据

1、环境:mysql -> canal -> rocketmq ->消费服务 -->文件/mysql

2、canal的版本为1.1.5

3、问题描述:

3.1 在2021-12-03 22:34:00 至 2021-12-03 22:34:59这一分钟的时间段的新增订单(po_order)的记录,没有被记录(大概有21条,可能是业务的一次excel导入)。但34分钟之前和之后的数据都有被记录。 3.2 rocektmq-client的日志、canal监听实例的日志、消费服务的应用日志都没有异常日志

提问77.png

提问78.png

原提问者GitHub用户snails-Jie

展开
收起
山海行 2023-04-27 10:04:43 226 0
2 条回答
写回答
取消 提交回答
  • 把canal的解析日志和客户端的日志都打印下,按照经验来看一般是client消费端的问题

    原回答者GitHub用户agapple

    2023-04-27 20:52:24
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    首先,您需要确认是否有任何异常或错误消息出现在canal、rocketmq和消费服务的日志中。如果没有,可能是由于canal在某些情况下会丢失一些数据,例如在canal和MySQL之间的网络连接出现问题时。

    您可以检查canal是否在上述时间段内正常运行,并且是否成功地将binlog事件发送到rocketmq。您可以通过检查canal的日志来确定这一点。如果canal在该时间段内出现了任何异常或错误,您可以尝试重新启动canal并监视日志以查看是否有任何问题。

    如果canal没有出现任何异常或错误,并且您仍然无法找到缺失的数据,您可以尝试使用canal提供的追溯机制来查找缺失的数据。使用这种方法,您可以回放canal从MySQL中读取的binlog事件并查找缺失的数据。这可能需要一些时间和资源,但可以帮助您找到并恢复缺失的数据。

    2023-04-27 15:00:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载