说明
通过本文案例,执行 增删改 SQL语句,查看 maxwell 打印数据的格式
2种方式,效果相同
准备
cd /program/maxwell-1.29.2
启动方式一:命令行
启动命令后面带很多参数:
bin/maxwell --user='maxwell' --password='maxwell' --host='hadoop1' --producer=stdout
解释:
--user='maxwell':指定用户名--password='maxwell':指定密码--host='hadoop1':指定数据库ip 或 主机名--producer=stdout:生产者模式,有2个值:- stdout:控制台
- kafka:kafka集群
启动方式二:配置文件
复制配置文件
cp config.properties.example config.properties
修改配置文件
vim config.properties
修改下面内容:
producer=stdout
host=hadoop1
启动
bin/maxwell --config ./config.properties
插入数据
一条语句插入一条记录
执行下面sql:
INSERT INTO `scott`.`dept`(`deptno`, `dname`, `loc`) VALUES (60, '测试部', 'NEW YORK');
maxwell控制台输出内容如下:
{
"database":"scott", # 数据库
"table":"dept", # 表
"type":"insert", # 操作类型
"ts":1655084126, # 时间戳
"xid":17360, # 操作id
"commit":true, # 事务提交
"data":{ # 数据部分
"deptno":70, # deptno 字段值
"dname":"财务部", # dname 字段值
"loc":"上海" # loc 字段值
}
}
一条语句插入多条记录
执行下面sql:
INSERT INTO `scott`.`dept`(`deptno`, `dname`, `loc`) VALUES (71, '财务部', '上海'),(72,'HR','北京'),(73,'销售部','广州');
maxwell控制台打印如下:
{"database":"scott","table":"dept","type":"insert","ts":1655129301,"xid":133957,"xoffset":0,"data":{"deptno":71,"dname":"财务部","loc":"上海"}}
{"database":"scott","table":"dept","type":"insert","ts":1655129301,"xid":133957,"xoffset":1,"data":{"deptno":72,"dname":"HR","loc":"北京"}}
{"database":"scott","table":"dept","type":"insert","ts":1655129301,"xid":133957,"commit":true,"data":{"deptno":73,"dname":"销售部","loc":"广州"}}
结论:虽然一条sql插入多条记录,但在maxwell中,仍然是3条记录
修改数据
执行下面sql:
update `scott`.`dept` set loc='杭州' where deptno = 60
maxwell打印结果如下:
{
"database":"scott",
"table":"dept",
"type":"update", # 操作类型
"ts":1655129798,
"xid":135261,
"commit":true,
"data":{ # 当前数据
"deptno":73, # 当前 deptno 字段值
"dname":"销售部", # 当前 dname 字段值
"loc":"杭州" # 当前 loc 字段值
},
"old":{ # 原数据
"loc":"广州" # 原loc字段值
}
}
删除数据
delete from `scott`.`dept` where deptno = 73
maxwell打印结果如下:
{
"database":"scott",
"table":"dept",
"type":"delete", # 操作类型
"ts":1655130059,
"xid":135968,
"commit":true,
"data":{ # 数据部分
"deptno":73,
"dname":"销售部",
"loc":"杭州"
}
}