Canal是什么
以下來源於官方
canal [kə'næl],譯意為水道/管道/溝渠,主要用途是基於 MySQL 數據庫增量日志解析,提供增量數據訂閱和消費
早期阿里巴巴因為杭州和美國雙機房部署,存在跨機房同步的業務需求,實現方式主要是基於業務 trigger 獲取增量變更。從 2010 年開始,業務逐步嘗試數據庫日志解析獲取增量變更進行同步,由此衍生出了大量的數據庫增量訂閱和消費業務。
基於日志增量訂閱和消費的業務包括
數據庫鏡像
數據庫實時備份
索引構建和實時維護(拆分異構索引、倒排索引等)
業務 cache 刷新
帶業務邏輯的增量數據處理
Windows平台下的Canal安裝和部署
下載地址:https://github.com/alibaba/canal/releases
選擇目前穩定的1.14版本
下載完成后解壓,運行bin文件夾下的startup.bat即可啟動
配置
配置文件主要是conf文件夾下的canal.properties和其中example文件夾下的instance.properties
canal.properties中可以配置端口號等信息,instance.properties可以配置數據庫等信息
例如要監聽mysql數據庫,則需要先對mysql數據庫進行設置,參考:
https://blog.csdn.net/weixin_44188501/article/details/107392089
注:windows下mysql的配置文件位於C:\ProgramData\MySQL\MySQL Server 8.0目錄下的my.ini文件
然后編輯instance.properties,設置數據庫地址、用戶名和密碼,並設置日志文件名稱和起始位置
關於日志文件名和起始位置:
在mysql console中執行
show master status
即可獲得