实时监听 mysql 操作,Linux 版

效果

场景:某数据库新增了某条记录,服务器可以监听到变化的数据与操作,如

 

 增加一条记录: id = 1009,name=''test,number = 11

 

 服务器监听结果:

 实现过程

测试过程:数据库可以是本地,或者远程均可。此demo 数据库为 windows 下mysql 数据库,服务器为 VM 虚拟器 Centos7。

 一、mysql 开启 binlog (my.ini 文件),添加配置

log_bin =D:\mysql-binlog\mysql-bin

binlog_format=Row

server-id=201801

二、服务器启动  zookeeper 、kafka

//启动 zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties
//启动 kafka
bin/kafka-server-start.sh config/server.properties

另启一个窗口:创建kafka  topic =school

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic school

三、下载 maxwell 解压

下载地址:https://github.com/zendesk/maxwell

  启动 maxwell 连接mysql 数据库,标准输出

./bin/maxwell --user='root' --password='123456' --host='192.168.3.125' --producer=stdout

或者

启动 maxwell 监听mysql binlog ,输出到 kafka

./bin/maxwell --user='root' --password='123456' --host='192.168.3.125' --producer=kafka --kafka.bootstrap.servers='192.168.91.25:9092' --kafka_topic=school --log_level=debug

此处启动可能报错,数据库时区不对

 

 使用命令修改数据库时区:

set global time_zone='+8:00'

四、启动 kafka 消费者,消费 topic 为 school 

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic school --from-beginning

参考:https://blog.csdn.net/wwwdc1012/article/details/88388552

 

posted @ 2019-10-21 16:09  byebai95  阅读(1030)  评论(1)    收藏  举报