cdc同步数据到mysql,没有同步

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:
    v4.0.0-rc.1
  • 【问题描述】:
    本次安装的是最新版本的 ,用官方推荐的方式安装。想通过cdc 将tidb 的数据同步到mysql,做到实时同步。
    tidb 和mysql 都是最新安装的,里面没有数据。我的操作步骤如下:
    1.安装的mysql 版本是 5.7.24 ,bin-log 是row 格式。
    2.用 binlogctl 工具获取 ts 值,在cdc 节点上执行了同步命令,命令如下

    然后cdc 命令行有一个cdc.log,日志如下:

    随后我就开始在tidb 上执行 DDL 语句,然后没有同步的迹象。麻烦问下是不是我哪里做错了。
    其他的图片如下:

您好,方便提供一份完整的 cdc 日志吗?我这边看下,多谢

cdc.log (563.6 KB)

您好 这个是我的CDC日志,麻烦看下 ,万分感谢!!

您好,看日志这边显示 connection refused,您这边可以检查下启动 cdc 时,连接的 TiDB 的地址是否正确。


您好,您发的这个日志是我执行别的命令获取状态时,没指定 pd 地址导致的,我这里的 cdc 启动,对应的地址是正确的。现在的问题是,我建立了同步任务,里面只有debug 信息,然后就没日志输出了,我在tidb 上执行语句,是没有同步的动作的,日志也是静止不动的。

cdc cli --pd “http://192.168.1.124” changefeed query --changefeed-id=877873e6-7441-478d-b7cc-2dbeeeaf74c4 没指定 2379端口 里面输出的日志

还有,我要是不用这个方法的话,通过binlog 方式同步,mysql 和 tidb 都是最新的,可以做到主从同步吗? 不需要要全量备份 tidb 导入mysql ,直接启动集群就行把。。。。我之前做过一次,但是mysql上只有一个 tidb-binlog 库,其他的数据库以及表是不会实时同步过来的。

debug 信息显示目前是默认配置的 dubug 模式,为了追踪 CDC 的详细情况。GA 以后我们应该会关闭 debug 模式。如果像验证同步时是否正常,可以通过 cdc cli 和 HTTP 接口两种方式来管理集群和同步任务。

MySQL 8.0 目前还不能很好支持,建议上游 MySQL 还是 5.7 的版本。

可以确认一下 drainer 配置是否正确,默认会同步除了 mysql、information_schema 等基础库意外的业务库的。

您好,刚才我试了下 binlog的方式,进行同步任务。测试成功了。现在我再搭建一台mysql 数据库,测试下cdc 的同步,我有一个问题,就是我们往生产上面部署的话,直接使用最新版本就可以是吧。。。

最新版本指得是什么 ?CDC 还是 TiDB ?

tidb 一整套的,我们目前处于测试阶段,CDC 的我一会再测试下同步的问题。看看能不能正常同步。。感谢您的解答

我现在重新把CDC 的日志提供给您下,我执行的 步骤如下:
获取 ts 值:


执行创建同步命令

cdc.log日志:
cdc.log (140.1 KB)

可以考虑使用 v4.0.0-rc.1 版本,线上使用 CDC 和 TiDB 建议做好重复的业务验证和性能测试。

您好,cdc 的


我这里查看 任务单元直接是空的

麻烦查看并反馈一下执行结果

cdc cli capture list;
cdc cli changefeed list

另外反馈一下创建完成同步任务前后的 CDC 的日志。

您好,我想给你最新得日志然后把环境删了,重新部署。给您最新得日志,配置文件里面加了 drainer 服务,但是在集群启动得时候 drainer 无法启动,报错 “drainer-8249/scripts/run_drainer.sh: 第 9 行:exec: numactl: 未找到

后来我linux 安装了 numactl 命令也是不可以启动说 numactl 语法错误!

看起来和cdc没有关系了,是吧,重新发帖吧。另外看下你的numactl权限是否正确,多谢。

那我先不装 这个了,直接装CDC 先解决CDC 问题谢谢

好的,辛苦,装好后,麻烦反馈下日志。

您好,我得操作步骤如下:
1.查看tos 信息


2.创建同步任务

3.查看capture列表


4.查看changefeed 列表

5.查询特定 changefeed,对应于某个同步任务的信息和状态


6.查询 processor 列表:

CDC日志:
cdc.log (23.4 KB)

  1. 看日志,应该已经创建表了,你在下游查看下。

[“create table success”] [name=mysql.opt_rule_blacklist]

  1. 当前是表可以创建,但是数据不同步吗? 能否在上游尝试insert一条语句,看看能否同步成功。