Canal集成步驟:
1.下載canal:https://github.com/alibaba/canal/releases/download/canal-1.1.3/canal.deployer-1.1.3.tar.gz
2.開啓mysql的binlog:注意Mysql版本不要低於5.6,低於5.6的會出現你意想不到的異常。我最開始用的是5.5
(1)查看binlog是否開啓:show variables like '%log_bin%’;
(2)找到mysql 的配置文件添加以下內容:通常是my.ini 或者 my.cnf文件
server_id = 1
binlog_format = ROW //行模式
log_bin = mysql_bin.log
這兩個可以不配置
expire-logs-days = 14
max-binlog-size = 500M
(3)確認binlog開啓成功: show variables like ‘%log_bin%’; 下圖所示就表示開啓成功
3.配置一個賬戶,能夠有replication權限
(1)創建canal賬戶 密碼也是canal CREATE USER canal IDENTIFIED BY 'canal’;
(2)賦權限:GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%’;
注意這裏可能會報root沒有權限,這時你需要去mysql的user裏面吧root遠程登陸的權限修改下:這一列默認是N,修改完後要重啓mysql
(3)GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%’ ;
(4)FLUSH PRIVILEGES;
4.將canal.deployer-1.1.3.tar傳到你需要部署的服務器並解壓:我這裏的路徑爲:/apps/canal
(1)canal.properties文件:配置端口信息,其餘的可以不用改
(2)創建一個book(你可以自定義其他的)文件夾,複製例子下的文件到book文件去。cp ../example/instance.properties .
(3)修改book文件夾下的instance.properties,具體配置文件請參考我給出的
(4)啓動canal ./bin/start.sh
(5)到/apps/canal/logs/book查看啓動日誌,確認成功
5.Java端集成:
注意如果是springboot項目 要排除以下幾個依賴不然會報錯
相關 java代碼
https://gitee.com/h455952294_admin/elasticsearch.git