Skip to content

Maxwell介绍

1. Maxwell概述

Maxwell是由美国Zendesk公司开源,用Java编写的MySQL变更数据抓取软件。它会实时监控Mysql数据库的数据变更操作(包括insert、update、delete),并将变更数据以 JSON 格式发送给 Kafka、Kinesi等流数据处理平台。官网地址:http://maxwells-daemon.io/

2. Maxwell输出数据格式

Alt text Maxwell输出的json字段说明:

字段解释
database操作的数据库
table操作的数据库表
type数据变更类型
ts数据变更的时间
xid事务id
commit事务提交标志
data对于insert类型,表示插入的数据;
对于update类型,标识修改之后的数据;
对于delete类型,表示删除的数据
old对于update类型,表示修改之前的数据,
只包含变更字段

3. Maxwell原理

Maxwell就是将自己伪装成slave,并遵循Mysql主从复制的协议,实时读取Mysql数据库的二进制日志(Binlog),从中获取变更数据,再将变更数据以JSON格式发送至Kafka等流处理平台。