Canal-mysql數據同步中間件


Canal使用場景

  1. 數據庫備份更新
  2. 搜索引擎索引更新&建立
  3. 業務緩存的更新
  4. 充當消息組件(訂單變更,商品資料變更等)

Canal環境部署

  1. 搭建Mysql
  2. 配置數據庫配置文件
    1.   增加以下配置信息
      1.   log-bin=mysql-bin  # 啟動binlog日志
      2.   binlog-format=ROW  # 選擇row模式
      3.   server_id=1  # 配置mysql replaction需要定義,不能和 Canal的slaveId 重復
    2.   創建用戶
      1.   create user  canal identified by 'canal'
      2.   grant select, replication slave,replication client on.to 'canal'@'%'
    3.   重啟數據庫
  3. 搭建canal
    1.   git地址 https://github.com/alibaba/canal 到 releases 下載所需版本 
    2.   上傳文件到服務器,解壓文件
    3.   配置文件位置:conf/example/instance.properties
      1.   修改配置文件配置信息,slaveId, 源數據庫地址,數據庫用戶名及密碼
    4.   啟動服務
      1.   ./bin/startup.sh
    5.   是否啟動成功
      1.   logs/example/ 文件夾下example.log文件   start successfull.... 標示 啟動成功

Canal的使用

  1. 創建鏈接
      1.   三種鏈接模式

    1.  使用案例

       

  2. 注意事項

    1. Canal掛了后,數據庫日志如果沒產生新的分片時數據不會丟失。

    如果mysql日志有了新的分片了,重啟Canal時還會報錯,解決辦法,刪除 conf/example/meta.dat 文件。(舊的消息沒有用的話)

    2. 集群模式時,同時只有一台服務可以從mysql中讀取數據,在機器沒有掛的情況下,其他機器都在等待。

 

 

 

 


免責聲明!

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



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