Canal---初识

                                                                                                             

1、概述

    1.1、canal用途

          基于  Mysql数据库 增量日志解析,提供  增量数据  订阅消费

    1.2、canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x , 5.6.x , 5.7.x , 8.0.x;

 

2、工作原理

    

 

 

3、实战

    3.1、Mysql   开启Binlog写入功能配置 binlog-format 为 ROW 模式my.cnf 中配置如下:

        Linux中my.cnf位置:/etc/mysql/my.cnf

         [mysqld]

        log-bin=mysql-bin # 开启 binlog

         binlog-format=ROW # 选择 ROW 模式

         server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复

          【注意】:注意:针对阿里云 RDS for MySQL , 默认打开了 binlog , 并且账号默认具有 binlog dump 权限 , 不需要任何权限或者 binlog 设置,可以直接跳过这一步;

    3.2、Mysql  授权 canal 链接 MySQL 账号  具有   作为 MySQL slave 的权限, 如果已有账户可直接 grant:

        登陆进入mysql--->use ***数据库;

        CREATE USER canal IDENTIFIED BY 'canal'; 

         GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';

        -- GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;

        FLUSH PRIVILEGES;

    3.3、Mysql  验证binlog

        show variables like 'log_bin%';

        show variables like 'binlog_format%';

    3.3、Docker   中安装canal镜像

        docker run -d --name canal -p 11111:11111 canal/canal-server

    3.4、Docker   中修改配置

        canal配置文件路径     /home/admin/canal-server/conf/example/instance.properties

           instance.properties

        

 

 

 

 

        

posted on 2020-01-09 11:55  anpeiyong  阅读(128)  评论(0编辑  收藏  举报

导航