canal 监听同步指定数据库,所有表
canal 监听同步指定数据库,所有表
因为工作需求,需要用到数据库同步,又从网上找了一些发现都有些问题,所以自己弄好之后写一篇总结,及配置步骤吧
先将 MySQL配置成 bin-log模式
给MySQL配置canal用户
下载 canal工具(在这里我用的是:canal.deployer-1.1.5-SNAPSHOT)我会把工具上传到我的资源(免费的)
配置instance.properties 配置文件
编写java api
配置MySQL bin-log模式
先 window+R 唤出 输入 services.msc 然后点击确定
找到MySQL服务右键属性,找到MySQL地址,因为我这配置了默认的my.ini文件,没配置应该是一个MySQL的地址找到里面的my.ini文件
找到my.ini文件进入
添加配置
log-bin=mysql-bin
binlog-format=ROW
注意server-id之前有没有,没有就添加一个
server-id=1 然后保存,在刚才唤出的服务里重启MySQL服务
给MySQL配置canal用户
CREATE USER canal IDENTIFIED BY ‘canal’;
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON . TO ‘canal’@’%’;
FLUSH PRIVILEGES;
下载canal 程序包 canal软件包下载地址 https://download.csdn.net/download/Angzush/12894366
4.配置 instance.properties文件,注意 红框的文件夹名后面配置会用到