TiCDC 可以实现把TiDB 的A库 同步到MySQL的B库吗?
没找到呀,我的需求是 把TiDB 的A库 全量+增量 迁移同步到MySQL的B库。数据库名称会发生变化。
好的,谢谢
TiCDC v7.3.0 不支持原生的 schema/database 重命名(库名映射) 功能,具体表现为:
- 同步到 MySQL 时,下游的库名必须与上游 TiDB 的库名完全一致(例如上游
A库只能同步到下游A库)。 - 不支持上游
A库直接映射为下游B库,也不支持表级别的重命名。
理解错了 ![]()
当前不可以,可以中转下,tidb a → cdc → mysql a → dm → tidb b
从 TiCDC 的能力与配置项来看,changefeed 主要提供的是 选择要同步的表(table filter) 、以及 过滤某些事件类型(event filter) 的能力;并没有提供在同步过程中把事件里的 schema/database 名称改写 成另一个名称(db_a → db_b)的机制(例如 sink URI 参数做 schema mapping、或 event transformer 改写 schema 名称)。TiCDC 本身是把上游的变更转换成下游可执行的 SQL/事件并写入下游,因此通常要求下游对象(库/表)与上游保持一致,否则容易出现 DDL/DML 找不到对象或 schema 不一致导致的错误。
目前好像不支持
tidb支持MySQL协议
这个后续应该是会优化的
只能先搞到mysql的A库然后通过mysql的同步工具再处理吗
对,或者搞到kafka消费这种策略,目前ticdc还没有路由的能力
嗯,搞到kafka消费看起来更现实,前面那种要在mysql中放两份数据
可以,ticdc从tidb同步到mysql\kafka等地方,DM从mysql导入到tidb
对的,厉害
mysql只用放一份数据即可,不用放两份,kafka消费的话也需要自己处理消费逻辑
TiCDC 完全支持:上游 TiDB 的 A 库 → 下游 MySQL 的 B 库 实时增量同步。
目前看来 只能这样了。
看上边大佬的恢复,TiCDC目前也正在晚上 异库迁移同步