一、背景
因历史问题,TIDB数据与mysql数据不一致
二、解决过程
1.停止同步任务
dmctl --master-addr ip:port stop-task task_name
2.dump全量数据(dump全量数据一定要在停止同步任务之后)
这里可以用mydumper,dumpling等等
3.恢复数据
dumpling等工具
4.启动任务
dmctl --master-addr ip:port start-task task_name
如果同步任务不能停止时间较长,采用以下做法
1.停止同步任务
dmctl --master-addr ip:port stop-task task_name
2.dump全量数据(dump全量数据一定要在停止同步任务之后)
3.数据的过滤操作
https://docs.pingcap.com/zh/tidb-data-migration/stable/task-configuration-guide
4.启动同步任务
5.恢复数据
6.停止同步任务
7.将数据过滤操作去除掉
8.启动同步任务
如果数据dump数据的操作都需要消耗很长时间,可以采取以下流程
1.dump全量数据
2.停止同步任务
3.数据的过滤操作
https://docs.pingcap.com/zh/tidb-data-migration/stable/task-configuration-guide
4.启动同步任务
5.恢复数据
6.停止同步任务
7.将数据过滤操作去除掉
8.删除dm_meta库中对应表
9.启动同步任务