TIDB - 使用 TICDC 将数据同步至下游 Mysql 中

一、TICDC

TiCDC 是一款通过拉取 TiKV 变更日志实现的 TiDB 增量数据同步工具,具有将数据还原到与上游任意 TSO 一致状态的能力,同时提供开放数据协议 (TiCDC Open Protocol),支持其他系统订阅数据变更。

和前面学习的Tidb binlog 不同,binlog 是直接取的tidb-server 的日志信息,而TiCDC则是取的 Tikv 的,相比性能更优,但TiCDC 只有数据修改时会触发同步,不包括ddl,所以说使用TICDC,必须保证两端的数据结构一致。

TiCDC 的架构

TiCDC 运行时是一种无状态节点,通过 PD 内部的 etcd 实现高可用。TiCDC 集群支持创建多个同步任务,向多个不同的下游进行数据同步。

在这里插入图片描述

二、TICDC 的使用

在使用CDC前,先看下目前的集群架构,不了解的TIDB集群架构的,可以看下本专栏的TIDB系列文章。

tiup cluster display tidb-test

在这里插入图片描述
现在我们使用扩容的方式,扩容出一台TICDC:

vi scale-out.yaml

写入以下内容:

cdc_servers:
  - host: 192.168.40.161
    port: 8300

开始扩容:

tiup cluster scale-out tidb-test scale-out.yaml -uroot -p

在这里插入图片描述
已经扩容成功,再来看下集群信息:
在这里插入图片描述
CDC就已经装好了,下面我们可以通过ctl 工具查看下CDC的部署信息,如果没有ctl工具的话,会自动安装:

tiup ctl:v5.0.0 cdc capture list --pd=http://192.168.40.160:2379

在这里插入图片描述
is-owner 为 true 代表当 TiCDC 节点为 owner 节点。

创建同步任务:

tiup cdc cli changefeed create --pd=http://192.168.40.160:2379 --sink-uri="mysql://root:root123@192.168.40.1:3307/" --changefeed-id="replication-task-1" --sort-engine="unified"

如果没有工具的话会下载,如果不想下载,可以去安装CDC的主机上,进入CDC的安装目录的bin下,就有cdc的执行脚本:
在这里插入图片描述
直接使用脚本创建任务:

./cdc cli changefeed create --pd=http://192.168.40.160:2379 --sink-uri="mysql://root:root123@192.168.40.1:3307/" --changefeed-id="replication-task-1" --sort-engine="unified"

–sink-uri=“mysql://root:root123@192.168.40.1:3307/” : 目标库(下游)MySQL 数据库的信息
–changefeed-id=“replication-task-1” 数据同步任务 ID
–sort-engine=“unified” :不定义引擎。
在这里插入图片描述
出现上面日志,则代表任务创建成功。
使用下面指令可以查看同步任务:

./cdc cli changefeed list --pd=http://192.168.40.160:2379

在这里插入图片描述
“state”: “normal” : 表示任务状态正常。
“tso”: 429574071882350593 : 表示同步任务的时间戳信息。
“checkpoint”: “2021-12-05 17:03:57.393” :表示同步任务的时间。

查询任务的详细信息:

./cdc cli changefeed query --pd=http://192.168.40.160:2379 --changefeed-id=replication-task-1

在这里插入图片描述

三、测试同步任务

TIDB 和 Mysql中都有testdb 数据库,和user 表:

在这里插入图片描述
首先在Tidb中插入一条数据:

insert into user(name,age) value('bxc','25');

在这里插入图片描述

然后在mysql 中查询信息:

在这里插入图片描述

在这里插入图片描述
喜欢的小伙伴可以关注我的个人微信公众号,获取更多学习资料!

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小毕超

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值