cdc如何将变更的数据直接存储到磁盘

【 TiDB 使用环境】测试
【 TiDB 版本】V8.3.0
【遇到的问题:问题现象及影响】
各位老师:
文档中提到下游的连接可以是兼容mysql协议的数据库连接,可以是kafka,也可以是S3之类的存储。我目前的需求是将变更数据从外网传输到内网,因此希望tidb变更的数据直接输出到磁盘就可以了,不需要存入kafka或S3之类的存储,如何配置cdc来实现这一点呢?

把这块盘作成一个 NFS 或 minio ?

在创建changefeed时,您需要在sink-uri参数中指定NFS的路径。NFS的sink-uri格式如下:
–sink-uri=“file:///my-directory/prefix?protocol=canal-json”
其中,"/my-directory/prefix"应替换为NFS服务器上的实际路径。

在changefeed配置文件中,需要添加以下配置来启用最终一致性复制功能:
[consistent]
level = “eventual”
max-log-size = 64
flush-interval = 2000
storage = “file:///my-directory/prefix”
其中,"file:///my-directory/prefix"应与sink-uri中的路径保持一致。

将变更数据从外网传输到内网,后面的操作是呢?存储格式是什么格式呢,txt? 一条变更数据一行?cdc 本身配置不支持 文件格式,你这样只能绕路去做,比如写到kafka,然后从kafka 读取数据到文本中。个人建议,打通内外网,数据能联通。如果敏感数据,借助中间服务器,不直接联tidb

这里查到还真有支持文件系统的
https://docs.pingcap.com/zh/tidb/v8.3/ticdc-csv
在6.5 之上的版本可以使用,不过只有好像s3 协议

如何使用s3fs将minio存储挂载到本地磁盘

1 个赞