canal使用教程


一、canal簡介

canal主要用途是基於 MySQL 數據庫增量日志解析,提供增量數據訂閱和消費

 MySQL主備復制原理

 

  • 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  文件去配置日志模式。如下圖

     

 

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

    

 

    查看mysql的binglog文件 show master logs;

    

 

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

   

 

  查看binlog文件

   

 

canal 安裝

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM