Maxwell1.29.x 增删改数据,输出数据格式

说明

通过本文案例,执行 增删改 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":"杭州"
    }
}

原文出处:/show_1IX3UWrxvTkh.html