现在再TIDB有512张分表,现在我们需要将这512张分表的数据再TIDB上建立一张合表 然后将这512张分表的数据合并到这张合并中,类似于阿里mysql同步时候用的DTS/DATAX,想知道TIDB有这种工具吗?目前TIDB版本8.5
用 dumpling和lightning 导一下全量,记下来 tso,增量用 cdc
https://docs.pingcap.com/zh/tidb/stable/tidb-lightning-data-source/#表库重命名
使用如下命令试试呢:
INSERT INTO 目标合表 SELECT * FROM 分表_001;
INSERT INTO 目标合表 SELECT * FROM 分表_002;
– …以此类推
需要实时同步吗,可以停机还是导出在导入快点
需要增量数据吗
用 dumpling和lightning 这两个工具
用 dumpling 导出所有分表数据为 SQL/CSV,再用 lightning 并行导入合表,性能最高,支持断点续传,适合大数据量。
优先用 Dumpling+Lightning 做全量合并,增量同步用 TiCDC+Flink,小数据量可直接用 SQL 脚本批量插入。
先备份一下呗,这样就不怕错了。
优先用 Dumpling+Lightning 做全量合并
同上 ![]()
数据量是多大?从分表到合表,是不是有逻辑映射?
只是一个union吗
使用导出导入吧
可以使用Dumpling+Lightning
dumpling和lightning
可以尝试用dm全量导入
如果数据量比较大,通过主键分批插入
Dumpling 批量导出,Lightning 并行入库,高性能带断点续传,适配海量分表合并。