前提
1.mysql 开启binlog日志,binlog模式为ROW,配置server_id。binlog-format=ROW #选择row模式
server_id=1 #配置mysql replaction需要定义,不能和canal的slaveId重复
2.为canal配置mysql权限。
CREATE USER canal IDENTIFIED BY 'canal';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
FLUSH PRIVILEGES;
3.
安装zookeeper。
安装
1.下载 canal。2.解压到安装目录。
3.修改配置。
在canal安装目录的conf下,找到canal.properties。
canal.zkServers:zookeeper地址
canal.auto.scan:设置为true,打开canal对实例的嗅探功能
canal.auto.scan.interval:扫描间隔,单位秒
canal.instance.global.spring.xml:全局的spring配置方式的组件文件。
4.创建实例(以test为例)
在canal安装目录的conf下 ,创建新的文件夹test。
在test下创建配置文件instance.properties或从example中拷贝一份进行修改。
canal.instance.mysql.slaveId:canal伪装的mysql slave的编号,不能与mysql数据库与其他的slave重复。
canal.instance.master.address:要监听的数据库的地址和端口号。
canal.instance.filter.regex:perl正则表达式,要监听哪些数据库中的哪些表的变更。
5.同样方法在另一机器上安装canal。
6.安装完成后,运行bin目录下的startup.bat/startup.sh脚本启动canal服务端。