• 实时监听 mysql 操作,Linux 版


    效果

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

     

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

     

     服务器监听结果:

     实现过程

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

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

    log_bin =D:mysql-binlogmysql-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

     

  • 相关阅读:
    Django集成Bootstrap美化后台
    python3 Django集成Ueditor富文本编辑器
    mysql-cluster集群配置
    centos7安装mysql8
    python升级pip和Django安装
    删除某日期之前的日志文件夹
    linux文件系统变为只读解决
    xargs实例
    linux终端提示符显示bash-4.2#
    Codeforces Round #478 (Div. 2)
  • 原文地址:https://www.cnblogs.com/baizhuang/p/11714140.html
Copyright © 2020-2023  润新知