如何使用 Debezium (cdc) 将从 mysql 获取的更改接收到另一个 mysql db
Posted
技术标签:
【中文标题】如何使用 Debezium (cdc) 将从 mysql 获取的更改接收到另一个 mysql db【英文标题】:How to sink changes taken from mysql to another mysql db using Debezium (cdc) 【发布时间】:2020-10-10 04:09:33 【问题描述】:我能够从mysql 捕获数据事件。我已经按照debeziumtutorial 的所有步骤进行操作,但是在教程中他们没有指定如何将这些更改发送到另一个 mysql 数据库。 请帮助我,我被它困住了,我找不到合适的教程。
docker run -it --rm --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=debezium -e MYSQL_USER=mysqluser -e MYSQL_PASSWORD=mysqlpw debezium/example-mysql:1.1
我正在从端口 3307 上的这个 mysql 数据库中捕获更改
docker run -it --rm --name mysqltes -p 3308:3306 -e MYSQL_ROOT_PASSWORD=debezium -e MYSQL_USER=mysqluser -e MYSQL_PASSWORD=mysqlpw debezium/example-mysql:1.1
现在我想将这些更改发送到端口 3308 上的这个 mysql 数据库
注意:我在 Windows 10 主页中通过 docker 工具箱使用访问 docker
【问题讨论】:
【参考方案1】:Debezium 是一个源,而不是一个接收器
您需要使用 confluent jdbc sink connector 将事件发送到数据库
【讨论】:
能否提供mysql的json-sink文件 我相信您能够在线搜索使用 JDBC Sink 的众多 Confluent 教程之一 其实我搜了一下,找到了一个,但是我得到的 jdbc:mysql connection url 的 URL 无效 嗯,听起来是个发布新问题的好机会以上是关于如何使用 Debezium (cdc) 将从 mysql 获取的更改接收到另一个 mysql db的主要内容,如果未能解决你的问题,请参考以下文章
如何在从 debezium kafka connect 收到的 CDC 事件中获取表名和数据库名
如何通过 debezium CDC 机制反序列化从 kafka 代理收到的 BigDecimal 值?