Canal注意點

  • 前言

在上文Canal大做戰基本已經實現了數據庫實時根據binlog同步到ES的增刪改。可是若要放到生產中,基本配置顯然是不夠的。接下去我就平時遇到的點記錄下來!mysql

  • 重點sql

    1.canal服務重啓或者新部署,以前未進行同步的數據該怎麼處理?

這個狀況要分兩種,第一種是以前的數據沒有binlog,那麼這個只能本身經過代碼來進行初始化的同步,第二種是有binlog的。第二種比較好操做,只要指定下canal server起來的時候讀取的binlog便可,以下圖:數據庫

canal.instance.master.journal.name 通常在/var/lib/mysql路徑下,能夠本身決定從哪一個binlog開始。.net

canal.instance.master.position 能夠在mysql下經過show master status in 'xxx'(binlog名) limit 0, 10指令來獲取你須要的position;日誌

這個時候這裏有個坑,就是和instance.properties平級的目錄下有一個meta.dat文件中記錄了code

meta.dat文件中記錄了canal服務取binlog的信息。若是不刪掉,或者修改,那麼就算在instance.properties改了也是不起效果的。server

最後發現canal服務啓動的時候打的日誌就能夠知道成功啦!blog

相關文章
相關標籤/搜索