maxwell同步全量历史数据

CentOS安装maxwell
        在上篇的基础上,我们实现了实时同步mysql数据到kafka。maxwell不仅可以同步实时数据,也可以同步全量历史数据。在这里模拟一下历史数据的场景,创建表结构如下,并写入测试数据。

CREATE TABLE `user_detail` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `username` VARCHAR(255) NOT NULL,
  `email` VARCHAR(255),
  `phone_number` VARCHAR(20),
  `registration_date` DATETIME,
  `last_login` DATETIME,
  `address` TEXT,
  `status` ENUM('active', 'inactive') DEFAULT 'active',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

在这里插入图片描述
启动maxwell守护进程:

./bin/maxwell --config config.properties --daemon

开始同步历史数据:

./bin/maxwell-bootstrap --database hadoop3 --table user_detail

也可以加入where条件:

./bin/maxwell-bootstrap --database hadoop3 --table user_detail --where "id>30"

在这里插入图片描述

在这里插入图片描述

详细说明可查看官网

说明:同步json中我们可以发现,type有bootstrap-start、bootstrap-insert、bootstrap-complete三种类型,其中bootstrap-start与bootstrap-complete是bootstrap开始和结束的标志,不包含任何数据,数据都存在于type为bootstrap-insert的类型中。