• win10环境安装使用docker-maxwell


    目的:maxwell可以监控mysql数据变化,并同步到kafka、mq或tcp等。

    maxwell和canal区别:

    1.  maxwell更轻量,canal把表结构也输出了
    2.  docker  bootstrap可导出历史数据,canal不能

    环境 :win10,mysql5.7,maxwell最新

    1.下载和安装MAXWELL和docker

    maxwell官网地址: Maxwell's Daemon

    win10 不支持MAXWELL,只能用docker安装。

    Docker for Windows安装参见Docker的安装与使用(Windows10版) - 知乎

    Docker for Windows的当前版本运行在64位Windows 10 Pro,专业版、企业版和教育版。(不支持家庭版

    装好docker后启动。

    2.配置 MYSQL 开启BINLOGS,位置(D:\soft\mysql-5.7.30-winx64\my.ini

    [mysqld] 服务端配置下面添加三行(其他配置勿动):

    server_id=1

    log-bin=master   

    binlog_format=row

    或者直接运行如下指令:

    mysql> set global binlog_format=ROW;
    mysql> set global binlog_row_image=FULL;

    配置完后重启mysql 服务:net stop mysql   net start mysql

    maxwell需要建库、建用户和赋权:

    CREATE DATABASE `maxwell`;

    GRANT ALL ON maxwell.* TO 'maxwell'@'%' IDENTIFIED BY 'maxwell';

    grant select ,replication slave,replication client on *.* to maxwell@'%';

    flush privileges;

    3.compose方式安装docker maxwell,MAXWELL 输出到 STDOUT 标准输出模式启

    注:也可以命令下载运行

    docker run -it --rm zendesk/maxwell bin/maxwell --user=maxwell  --password=maxwell --host=192.168.25.5 --producer=stdout

    1. 目录结构,新建文件夹 docker_maxwell
    2. 编辑docker-compose.yml

    version: '3.5'

    services:

      maxwell:

        image: zendesk/maxwell

        network_mode: "host"

        command: bin/maxwell --config /etc/maxwell/config.properties

        volumes:

          - ./conf:/etc/maxwell/

    1.  创建conf文件夹,在conf文件夹下添加 config.properties文件

    注意ip要改成自己的。

    daemon=true

    # 第一次启动时建议改为debug,可以开到mysql数据与kafka请求,稳定后再改为info

    log_level=info

    #producer=kafka

    producer=stdout

    kafka.bootstrap.servers=10.0.233.191:9092

    # 会往 kafka下主题为'test'的分区下推送数据

    kafka_topic=test

    #当producer_partition_by设置为table时,Maxwell会将生成的消息根据表名称进行分区,不同的表将会被分配到不同的分区中,默认为database

    producer_partition_by=table

    client_id=maxwell_1

    # mysql login info 需要先在mysql创建maxwell用户

    host=192.168.1.101

    port=3306

    user=maxwell

    password=maxwell

    schema_database=maxwell

    #include_dbs= maxwell

    #include_tables= user

    4.在保证 mysql 可以访问 并且正常启动的情况下,启动下载maxwell并运行

    # 进入docker_maxwell目录下

    cd /.../docker_maxwell

    # 启动服务

    docker compose up -d

    5.在docker图形化界面下查看日志,Containers=》docker_maxwell

    6.插入一条数据查看效果,如上图,在maxwell(存储的是元数据)以外的库

    INSERT INTO example.sys_user

    ( username, password, nickname, role_id, create_time, update_time, delete_status)

    VALUES( 'test1', '123456', '就看看列表', 3, '2017-11-22 16:29:41.0', '2017-11-22 16:29:41.0', '1');

    7配置输出到kafka,配置完后,需要启动kafka就行

    创建conf文件夹,在conf文件夹下添加 config.properties文件

    注意: 文件内IP替换成自己本机IP

    daemon=true

    # 第一次启动时建议改为debug,可以开到mysql数据与kafka请求,稳定后再改为info

    log_level=info

    producer=kafka

    kafka.bootstrap.servers=IP:9092

    # 会往 kafka下主题为'test'的分区下推送数据

    kafka_topic=test

    #当producer_partition_by设置为table时,Maxwell会将生成的消息根据表名称进行分区,不同的表将会被分配到不同的分区中,默认为database

    producer_partition_by=table

    client_id=maxwell_1

    # mysql login info 需要先在mysql创建maxwell用户

    host=IP

    port=33106

    user=maxwell

    password=maxwell

    schema_database=maxwell

  • 相关阅读:
    java毕业设计校园商铺mybatis+源码+调试部署+系统+数据库+lw
    【优化覆盖】基于matlab果蝇算法求解无线传感器覆盖优化问题【含Matlab源码 2215期】
    青龙面板-快手极速版(每天3块脚本)
    visual studio code(vs code)历史版本下载
    C语言指针面试题——第二弹
    (数据库提权——Redis)Redis未授权访问漏洞总结
    21.flink 水位线,彻底站起来
    JS——循环结构经典例题解析与分享
    Oracle drop删表后的数据恢复
    Mysql - 读写分离与读负载均衡之Maxscale
  • 原文地址:https://blog.csdn.net/qq_26869449/article/details/132794763