canal使用教程

一、canal简介

canal主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费

 MySQL主备复制原理

canal使用教程_第1张图片

 

  • MySQL master 将数据变更写入二进制日志( binary log, 其中记录叫做二进制日志事件binary log events,可以通过 show binlog events 进行查看)
  • MySQL slave 将 master 的 binary log events 拷贝到它的中继日志(relay log)
  • MySQL slave 重放 relay log 中事件,将数据变更反映它自己的数据

 canal 工作原理

  • canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送dump 协议
  • MySQL master 收到 dump 请求,开始推送 binary log 给 slave (即 canal )
  • canal 解析 binary log 对象(原始为 byte 流)

binlog基础知识

    binlog有三种模式 statement、row、mix默认是statement。我们可以通过my.cnf  文件去配置日志模式。如下图

     canal使用教程_第2张图片

 

    查看mysql日志模式 show global variables like '%binlog_format%';

    canal使用教程_第3张图片

 

    查看mysql的binglog文件 show master logs;

    canal使用教程_第4张图片

 

     查看binlog事件 show binlog events in 'mysql-bin.000001';

   canal使用教程_第5张图片

 

  查看binlog文件

   canal使用教程_第6张图片

 

canal 安装

https://github.com/alibaba/canal/wiki/QuickStart

 

你可能感兴趣的:(canal使用教程)