canal详细配置!!!

当前安装版本1.1.5版本

1、修改canal中任何文件前,必须关闭运行中canal,命令:bin/stop.sh

因为运行时,一直产生文件存储,所以必须关闭;

2、开启运行canal,命令:bin/start.sh

如果上一次正常关闭,直接开启

如果上一次非正常关闭,必须先删除 meta.dat、h2.mv.db 文件,还有更新bin-log文件编号、具体位置节点、是的canal能够监听到,因为再次开启时,会有数据冲突;

正常关闭canal,meta.dat会有记录

 

开始配置

1、给mysql开启支持bin-log日志;

修改my.cnf,命令:sudo vim /etc/my.cnf

在[mysql_id]下添加

server-id=1

log-bin=mysql-bin

binlog_format=row

2、重启 MySQL 使配置生效

sudo systemctl restart mysqld

3、检查bin-log日志是否开启

show variables like 'log_bin';

插入一条语句查询bin-log对应大小是否变化

show binary logs;

INSERT INTO user_info VALUES('1002332','zhangsan','male');

show binary logs;

对比两次bin-log日志大小是否变化了,如果变化了,则开启bin-log日志服务;

创建表

CREATE TABLE user_info(

`id` VARCHAR(255),

`name` VARCHAR(255),

`sex` VARCHAR(255)

);

3、给mysql中创建新用户并授权

GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%' IDENTIFIED BY 'canal' ;

注意,此语句:授权,如果没有此用户,会自动创建该用户;

展示用户权力,命令:show grants for '用户名'@'主机名';

注意:主机名就是给用户授权时所写主机名;

为什么创建用户名且密码都为canal呢?因为canal服务端配置文件就用了账号canal、密码canal用来监控mysql,以获取bin-log日志;

刷新权限;

flush PRIVILEGES;

4、解压安装canal包,略过

5、修改canal.properties文件

若使用tcp模式,则canal.properties文件不用修改

若如果使用kafka模式,修改canal.properties中

修改1 改为kafka

# tcp, kafka, rocketMQ, rabbitMQ

canal.serverMode = kafka

修改2 指定kafka消费对所在ip地址,注意canal内置一套kafka,很可能ip就是一个,主要变化端口即可;

##################################################

######### Kafka #############

##################################################

kafka.bootstrap.servers = 127.0.0.1:9092

6、修改examp文件下instance.properties文件

如tcp模式

# position info 此处修改三处

#mysql所在服务中ip:端口

canal.instance.master.address=192.168.171.148:3306

#bin-log日志对应编号,命令:show binary logs; 查询一下

新认知:bin-log日志达到一定大小后,会自动创建新的日志,编号自动累计,此时配置编号是旧的没关系,会有指针寻找到最新位置;

canal.instance.master.journal.name=mysql-bin.000001

#对应bin-log日志位置节点,命令:show master status; 查询最新节点位置,多点击几次,刷新至稳定位置节点,也就是当前bin-log日志大小,也就某个指针节点,让canal能找到位置即可;

canal.instance.master.position=2755

# username/password 修改授权mysql账号密码,用根用户也行;

canal.instance.dbUsername=canal

canal.instance.dbPassword=canal

若为kafka模式

除了以上修改外,还要修改下面topic主题;

# mq config

#指定对应消费节点

canal.mq.topic=example

在logs文件中,成功指标;

canal.log日志中显示canal开启运行成功

meta.log日志中显示连接canal运行并监控对应msql中bin-log日志,表示监控成功;

example.log日志显示客户端消费canal推出来的消息状态;

canal详细配置!!!_第1张图片

mysql8.0 创建用户 GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO ‘canal‘@‘%‘ IDENTIFIE 报错_GOD_WAR的博客-CSDN博客

你可能感兴趣的:(kafka,mysql,数据库)