前言
本文将使用Kafka Connect 实现MySQL增量同步,设计三种模式,分别为incrementing timestamp timestamp+incrementing
理论续自上文
当然你也可以使用除了MySQL其他DB,参考官网放置对应的驱动文件即可。
以下实验请在能正常Kafka生产消费的基础之上进行。
1、incrementing 自增模式
准备工作
创建 A数据库源表person
CREATE TABLE `person` (
`pid` int(11) NOT NULL AUTO_INCREMENT,
`firstname` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`pid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
创建 B数据库目标表kafkaperson
CREATE TABLE `kafkaperson` (
`pid` int(11) NOT NULL AUTO_INCREMENT,
`firstname` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`pid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
切换目录 D:\com\kafka_2.11-2.0.1\config
quickstart-mysql.properties(source)
name=mysql-a-source-person
connector.class=io.confluent.connect.jdbc.JdbcSourceConnector
tasks.max=1
connection.url=jdbc:mysql://localhost:3306/A?user=***&password=***
# incrementing 自增
mode=incrementing
# 自增字段 pid
incrementing.column.name=pid
# 白名单表 person
table.whitelist=person
# topic前缀 mysql-kafka-
topic.prefix=mysql-kafka-
quickstart-mysql-sink.properties(sink