一、背景

新建了一个cdc同步的任务,上游为tidb,下游为mysql,但是发现一些新建的表并不能同步到下游mysql中

二、排查

1.查看日志

# 内容如下这表明这个表不满足同步条件
tables are not eligible to replicate

2.cdc同步的限制

TiCDC 只能同步至少存在一个有效索引的表,有效索引的定义如下:

  • 主键 (PRIMARY KEY) 为有效索引。
  • 同时满足下列条件的唯一索引 (UNIQUE INDEX) 为有效索引:
    • 索引中每一列在表结构中明确定义非空 (NOT NULL)。
    • 索引中不存在虚拟生成列 (VIRTUAL GENERATED COLUMNS)。

三、解决办法

方案一、创建满足cdc同步条件的表

方案二、更改cdc为可以同步无有效索引的表

1.停止任务

tiup ctl:v4.0.15 cdc changefeed pause --pd=http://pd_ip:pd_port --changefeed-id=simple-replication-task

2.修改cdc任务配置文件

vim cdc.yaml
# 添加如下配置
enable-old-value = true
force-replicate = true

3.修改配置

tiup ctl:v4.0.15 cdc changefeed  update --pd=http://pd_ip:pd_port --config=./cdc.yaml --changefeed-id=simple-replication-task

4.启动cdc任务

tiup ctl:v4.0.15 cdc changefeed resume --pd=http://pd_ip:pd_port --changefeed-id=simple-replication-task

5.注意点
enable-old-value v4.0.5开始支持
force-replicate v4.0.8开始支持
对于没有有效索引的表,INSERT 和 REPLACE 等操作不具备可重入性,因此会有数据冗余的风险。TiCDC 在同步过程中只保证数据至少分发一次,
因此开启该特性同步没有有效索引的表,一定会导致数据冗余出现。如果不能接受数据冗余,建议增加有效索引,譬如增加具有 AUTO RANDOM 属性的主键列。

官网文档: 文档地址

tidb-cdc日志tables are not eligible to replicate相关推荐

  1. Tidb慢日志显示不全

    查询Tidb慢日志时发现语句较长的sql无法全部显示,查阅资料后发现有参数限制慢日志的长度. query-log-max-len为最长的 SQL 输出长度,默认值为2048,当语句的长度大于 quer ...

  2. TiDB -- TiDB CDC POC 测试

    TiDB CDC 1.1 简介 1.2 测试逻辑 1.3 POC测试 1.3.1 集群搭建 准备: 部署集群和启动: 1.3.2 创建CDC同步任务和验证 1.3.3 创建TiFlash同步任务 1. ...

  3. TiDB实战篇-TiCDC

    目录 简介 原理 使用场景 使用限制 硬件配置 部署 在安装TiDB的时候部署 扩容部署 操作 管理CDC 管理工具 查看状态 创建同步任务 公共参数 CDC任务同步到MySQL实战 同步命令 查看所 ...

  4. oracle透明网关访问sqlserver_汽车之家从 SQL Server 到 TiDB 的异构变迁

    SQL Server + .Net 是很多早期互联网企业的标配技术栈,虽然 TiDB 是兼容 MySQL 协议和生态的数据库,但是 TiDB 适用的业务场景是通用的.在开源新技术大行其道的今天,如何从 ...

  5. 汽车之家从 SQL Server 到 TiDB 的异构变迁

    作者:汽车之家技术学院-技术架构组 SQL Server + .Net 是很多早期互联网企业的标配技术栈,虽然 TiDB 是兼容 MySQL 协议和生态的数据库,但是 TiDB 适用的业务场景是通用的 ...

  6. TiDB上百T数据拆分实践

    作者:杨家鑫 原文来源: https://tidb.net/blog/57fbca58 TiDB上百T数据拆分实践 背景 提高TiDB可用性,需要把多点已有上百T TiDB集群拆分出2套 挑战 1.现 ...

  7. TiKV + Flink = 最佳人气流批一体库|TiDB Hackathon 2020 优秀项目分享

    近日,由 TiDB 社区主办,专属于全球开发者与技术爱好者的顶级挑战赛事--TiDB Hackathon 2020 比赛圆满落幕.今年是 TiDB Hackathon 第四次举办,参赛队伍规模创历届之 ...

  8. TiDB PCTP(PingCAP 认证 TiDB 数据库专家) 认证考试高分攻略

    TiDB PCTP(PingCAP 认证 TiDB 数据库专家) 认证考试高分攻略 战果 利用下班时间学习了大概2周后,参加2022年3月23号的PCTP认证考试,63分通过(总分70分,通过线42分 ...

  9. HDFS、Ceph文件系统以及Hbase、Cassendra、TiDB比较

    文章目录 HDFS.Ceph差异对比 HDFS设计目标 HDFS文件目录 Ceph设计目标 Ceph数据结构 HDFS文件导出 Ceph文件导出 暂时的结论 其它FS选型 其它思路 总结 Hbase. ...

最新文章

  1. Linux配置SSH无密码登陆
  2. Error running query: MetaException(message:Got exception: java.net.ConnectException Call From XXXX
  3. 死磕Java并:J.U.C之ConcurrentHashMap红黑树转换分析
  4. Java基础之一组有用的类——生成日期和时间(TryDateFormats)
  5. 将数据库日志添加到JUnit3
  6. [LeetCode] 141. Linked List Cycle 单链表判圆算法
  7. python循环写入csv文件_从for循环和列表中写入.csv文件
  8. 在hibernate框架中,自己如何使用框架自己生成建表语句
  9. BNU 斩(超级大水题)
  10. 阿里云地域和可用区怎么选?
  11. eclipse安装包
  12. Android 四大组件之Activity
  13. 苹果Mac文件加速下载工具:Download Shuttle Pro
  14. linux 如何安装whl文件,linux安装whl文件
  15. 《哲学100问》读书感想:为什么要做一个道德的人
  16. Problem L: 求一元二次方程的根
  17. 关于反三角函数在0点的高阶导数
  18. 【大数据 BI】传统BI流程
  19. 制作旅行英语图书封面
  20. excel数据透视表_无痛的方式隐藏Excel数据透视表项

热门文章

  1. python采集链家二手房信息
  2. 如何修改google chrome浏览器的主页
  3. C++find_if算法
  4. ‘SHIT’上最全有限状态机设计研究(一)-状态机介绍
  5. 性能优化:弄懂goolg glog原理,提升程序性能
  6. iPhone机型适配相关问题
  7. 《重学Java设计模式》作者开始录视频了
  8. 【干货】生成对抗网络GANs算法在医学图像领域应用总结
  9. VCS+Verdi ubuntu18.04安装教程
  10. 华为路由器查看DHCP地址池ip使用状态