Canal 使用入门 - 服务端

Canal是阿里提供的一个针对MySQL数据库的增量日志解析,提供增量数据订阅和消费的框架(组件)。mysql

1.配置MySQL的配置文件(my.ini),增长以下配置:spring

[mysqld]
log-bin=mysql-bin #开启日志监控
binlog-format=ROW #监控模式为ROW
server_id=1 #配置mysql replaction须要定义,不能和canal的slaveId重复

2.链接到数据库,执行以下语句:sql

[mysqld]
CREATE USER canal IDENTIFIED BY 'canal';  
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
-- GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;
FLUSH PRIVILEGES;

备注:Canal的原理是模拟本身为MySQL Slave,因此这里必定须要作为MySQL Slave的相关权限。3.配置Canal的配置文件(conf/example/instance.properties),增长以下配置:数据库

#数据库配置
canal.instance.master.address = 127.0.0.1:3306
canal.instance.master.journal.name =
canal.instance.master.position =
canal.instance.master.timestamp =

#主数据库
canal.instance.dbUsername = canal #账号
canal.instance.dbPassword = canal #密码
canal.instance.defaultDatabaseName = #监听的数据库名称
canal.instance.connectionCharset = UTF-8 #字符集

#备份数据库(能够不配置)
#canal.instance.standby.address =
#canal.instance.standby.journal.name =
#canal.instance.standby.position =
#canal.instance.standby.timestamp =

4.执行启动文件(bin/startup.bat 或者 bin/startup.sh)。bash

5.检查日志:
logs/canal/canal.log框架

com.alibaba.otter.canal.deployer.CanalLauncher - ## start the canal server.
com.alibaba.otter.canal.deployer.CanalController - ## start the canal server[127.0.0.1:11111]
com.alibaba.otter.canal.deployer.CanalLauncher - ## the canal server is running now ......

logs/example/example.log日志

c.a.o.c.i.spring.support.PropertyPlaceholderConfigurer - Loading properties file from class path resource [canal.properties]
c.a.o.c.i.spring.support.PropertyPlaceholderConfigurer - Loading properties file from class path resource [example/instance.properties]
c.a.otter.canal.instance.spring.CanalInstanceWithSpring - start CannalInstance for 1-example 
c.a.otter.canal.instance.spring.CanalInstanceWithSpring - start successful....
相关文章
相关标签/搜索