首先要安装mysql

# yum install -y mysql-server mysql mysql-devel
# service mysqld start         //启动mysql服务
# mysqladmin -u root password 'root'  // 给root账号设置密码为 root

canal的原理是基于mysql binlog技术,所以这里一定需要开启mysql的binlog写入功能,建议配置binlog模式为row.
# vim /etc/my.cnf 
在[mysqld]的下面添加:
log-bin=mysql-bin
binlog-format=ROW
server_id=1 

在mysql中 配置canal数据库管理用户,配置相应权限

# mysql -uroot -proot
CREATE USER canal IDENTIFIED BY 'canal';      
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%' IDENTIFIED BY 'canal' WITH GRANT OPTION;    
FLUSH PRIVILEGES; 

安装canal
本文使用的是:canal.deployer-1.0.22.tar.gz
# mkdir canal
# tar -zxvf canal.deployer-1.0.22.tar.gz  -C canal

修改配置信息:

# vim conf/canal.properties 

canal.id= 1
canal.ip=
canal.port= 11111
canal.zkServers=192.168.10.1:2181

# vim conf/example/instance.properties

## mysql serverId
canal.instance.mysql.slaveId = 1234


# position info,    需要改成自己的数据库信息  
canal.instance.master.address = 127.0.0.1:3306

# username/password,需要改成自己的数据库信息  
canal.instance.dbUsername = canal
canal.instance.dbPassword = canal


准备启动
sh bin/startup.sh


查看日志
vi logs/canal/canal.log
2016-10-28 09:20:44.899 [main] INFO  com.alibaba.otter.canal.deployer.CanalLauncher - ## start the canal server.
2016-10-28 09:20:44.999 [main] INFO  com.alibaba.otter.canal.deployer.CanalController - ## start the canal server[172.28.18.237:11111]
2016-10-28 09:20:45.507 [main] INFO  com.alibaba.otter.canal.deployer.CanalLauncher - ## the canal server is running now ......

具体instance的日志:
vi logs/example/example.log
2016-10-28 09:20:45.265 [main] INFO  c.a.o.c.i.spring.support.PropertyPlaceholderConfigurer - Loading properties file from class path r
esource [canal.properties]
2016-10-28 09:20:45.270 [main] INFO  c.a.o.c.i.spring.support.PropertyPlaceholderConfigurer - Loading properties file from class path r
esource [example/instance.properties]
2016-10-28 09:20:45.334 [main] WARN  org.springframework.beans.TypeConverterDelegate - PropertyEditor [com.sun.beans.editors.EnumEditor
] found through deprecated global PropertyEditorManager fallback - consider using a more isolated form of registration, e.g. on the Bea
nWrapper/BeanFactory!
2016-10-28 09:20:45.438 [main] INFO  c.a.otter.canal.instance.spring.CanalInstanceWithSpring - start CannalInstance for 1-example 
2016-10-28 09:20:45.452 [main] INFO  c.a.otter.canal.instance.spring.CanalInstanceWithSpring - start successful....
2016-10-28 09:20:45.478 [destination = example , address = /127.0.0.1:3306 , EventParser] WARN  c.a.otter.canal.parse.inbound.mysql.MysqlEventParser - prepare to find start position just show master status

说明安装canal成功。


canal方面有什么不懂的可以加QQ群:286593884


GitHub 加速计划 / ca / canal
40
9
下载
alibaba/canal: Canal 是由阿里巴巴开源的分布式数据库同步系统,主要用于实现MySQL数据库的日志解析和实时增量数据订阅与消费,广泛应用于数据库变更消息的捕获、数据迁移、缓存更新等场景。
最近提交(Master分支:6 天前 )
af937544 - 1 个月前
9f2fc740 - 1 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐