canal-server的安装部署

概述

canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL(也支持mariaDB)。

部署

  • jdk

canal属于纯java开发,所以要先安装java环境,参照网上教程,注意配置环境变量

  • mysql

第一步: 编辑mysql配置文件 $ sudo vim /etc/my.cnf

log-bin=mysql-bin     #binlog文件名
binlog_format=row     #选择row模式
server_id=1           #mysql实例id,不能和canal的slaveId重复

 保存并退出,重启mysql实例

:wq

service mysqld restart

 

第二步: 创建mysql账号密码(账号密码自定,权限自定)

CREATE USER canal IDENTIFIED BY 'canal';    
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';  
FLUSH PRIVILEGES;
  • canal-server

 canal server模拟自己是某个mysql的slave,发送dump命令获取mysql binlog数据。

第一步: 下载解压项目,这边使用的是1.0.22版本(canal.deployer-1.0.22.tar.gz):

项目git地址:https://github.com/alibaba/canal/releases

第二步: 配置项目

conf/example/instance.properties

# position info
canal.instance.master.address = 127.0.0.1:3306    # mysql连接
		
canal.instance.dbUsername = canal                 # mysql账号
canal.instance.dbPassword = canal                 # 密码
canal.instance.defaultDatabaseName = test	      # 需要同步的库名
canal.instance.connectionCharset = UTF-8	      # mysql编码

保存,退出,启动

:wq

$sh bin/startup.sh

查看日志

vim logs/canal/canal.log               #canal server端运行日志

vim logs/example/example.log     #canal client端连接日志

vim logs/example/meta.log           #实例binlog 读取记录文件(记录变更位置,默认为新增变更)

 

 

你可能感兴趣的:(服务架构)