本地canal安装和使用

1、组件版本

canal.deployer-1.1.7

kafka_2.13-2.6.0

jdk8

apache-zookeeper-3.6.0-bin

mysql5.7

2、解压canal.deployer-1.1.7

2.1、修改canal.properties配置文件
java 复制代码
##改为kafka
canal.serverMode=kafka

## 改为instance
canal.destinations = instance

## 改为true,如果新增库或者改库相关的ddl语句,如果binlog都推送到一个topic,canal监听就不会有问题,如果区分表会导致新产生的binlog无法推送到kafka
canal.instance.filter.query.ddl = true

## canal.instance.tsdb,新增库canal_tsdb
canal.instance.tsdb.url=jdbc:mysql://127.0.0.1:3306/canal_tsdb?useUnicode=true&&characterEncoding=UTF-8&connectTimeout=3000&autoReconnect=true&socketTimeout=300000&useSSL=false
canal.instance.tsdb.dbUsername=root
canal.instance.tsdb.dbPassword=123456

## canal默认使用h2,这里需要改为mysql
canal.instance.tsdb.spring.xml = classpath:spring/tsdb/mysql-tsdb.xml
2.2、修改example/instance.properties配置文件
java 复制代码
## 配置mysql master数据库信息
canal.instance.master.address=127.0.0.1:3306
canal.instance.dbUsername=canal_test
canal.instance.dbPassword=123456

## 注释当前配置,就默认走按表推送数据至kafka,否则所有binlog都推送到同一个topic
#canal.mq.topic=canal_test
## 按表推送数据至kafka
canal.mq.dynamicTopic=mytest,.*,mytest.user,mytest\\..*,.*\\..*
2.3、给canal_test用户授权

检查binlog是否开启

sql 复制代码
show variables like '%log_bin%';

检查binlog日志格式是否为ROW

sql 复制代码
show variables like '%binlog_format%';

检查canal_test用户是否授予权限,如果没有,需要进行授权

sql 复制代码
show master status;
sql 复制代码
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
FLUSH PRIVILEGES;
2.5、启动canal

终端执行命令:sh bin/startup.sh,是否启动成功,查看日志canal.deployer-1.1.7/logs/canal/canal.log、canal.deployer-1.1.7/logs/instance/instance.log

相关推荐
AA陈超1 小时前
ASC学习笔记0020:用于定义角色或Actor的默认属性值
c++·笔记·学习·ue5·虚幻引擎
IMPYLH2 小时前
Lua 的 collectgarbage 函数
开发语言·笔记·junit·单元测试·lua
思成不止于此3 小时前
深入理解 C++ 多态:从概念到实现的完整解析
开发语言·c++·笔记·学习·多态·c++40周年
谅望者4 小时前
数据分析笔记08:Python编程基础-数据类型与变量
数据库·笔记·python·数据分析·概率论
iiiiii115 小时前
【论文阅读笔记】多实例学习方法 Diverse Density(DD):在特征空间中寻找正概念的坐标
论文阅读·人工智能·笔记·机器学习·ai·学习方法·多实例学习
inputA5 小时前
【LwIP源码学习8】netbuf源码分析
android·c语言·笔记·嵌入式硬件·学习
JM丫5 小时前
内网理论知识总结
笔记·网络安全
d111111111d6 小时前
STM32外设学习-I2C(细节)--学习笔记
笔记·stm32·单片机·嵌入式硬件·学习
( ˶˙⚇˙˶ )୨⚑︎6 小时前
【学习笔记】DiffFNO: Diffusion Fourier Neural Operator
笔记·神经网络·学习
ModestCoder_6 小时前
【学习笔记】Diffusion Policy for Robotics
论文阅读·人工智能·笔记·学习·机器人·强化学习·具身智能