1 开启MySQL binlog操作日志
windows server : 修改programData/MySQL/.. my.ini (安装目录下) 配置
#Binary logging
log-bin=mysql-bin #日志文件名称
binlog-format=Row #格式
# server_id需保证唯一,不能和canal的slaveId重复
server_id=1
linux : 修改 /etc/mysql/...my.cnf (安装目录下) 配置
#Binary logging
log-bin=mysql-bin #日志文件名称
binlog-format=Row #格式
# server_id需保证唯一,不能和canal的slaveId重复
server_id=1
修改后重启MySQL
设置日志清理周期 (7天)
set global expire_logs_days = 7;
创建canal用户,并且赋予slave权限(这里直接赋予所有权限)
CREATE USER canal IDENTIFIED BY 'canal';
GRANT ALL PRIVILEGES ON test_canal.user TO 'canal'@'%' FLUSH PRIVILEGES;
2 部署Canal服务 , 从git拉取安装包(canal.deployer)
https://github.com/alibaba/canal/releases
修改部署配置 (相关数据库信息)
有两个重要的配置文件:
canal/conf/example/instance.properties
canal/conf/canal.properties
canal.properties可保持不变,默认的端口是五个1:11111
instance.properties需要配置:
3 编写canal客户端,处理canal拉取到的MySQL操作日志
将拉取的数据处理后推到队列(或者直接更新Redis?)
待定….