【canal监控mysql-binlog】

canal.deployer-1.1.4.tar.gz
本人百度网盘下载地址

链接: https://pan.baidu.com/s/1iMCXHL_tNLRSLQyu_AYfMg?pwd=cxm1 

lunix配置canal,用于监听mysql的binlog日志。

一、应用场景
一般在统计分析功能中,我们会采取Feign服务调用获取统计数据,这样耦合度高,效率相对较低,目前采取另一种实现方式,通过实时同步数据库表的方式实现,例如我们要统计每天注册与登录人数,我们只需把会员表同步到统计库中,实现本地统计就可以了,这样效率更高,耦合度更低,Canal就是一个很好的数据库同步工具。canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL。

二、Canal环境搭建
canal的原理是基于mysql binlog技术,所以这里一定需要开启mysql的binlog写入功能开启mysql服务:service mysql start (或者 systemctl start mysqld.service)

1、检查binlog功能是否开启

mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | OFF   |
+---------------+-------+
1 row in set (0.01 sec)

2、显示OFF表示该功能未开启

1、修改mysql得配置文件my.cnf

vi /etc/my.cnf
追加内容

# binlog文件名
log-bin=mysql-bin
# 选择row模式
binlog_format=ROW
# mysql 实例id,不能和canal的slaveId重复
server_id=1
# binlog日志文件过期时间30天
expire_logs_days = 30

2、重启mysql(修改my.cnf必须重启才能生效)
systemctl restart mysqld

3、登录mysql,查看log_bin
mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | ON    |
+---------------+-------+
1 row in set (0.02 sec)
-----------------------
显示ON表示该功能开启

3、下载安装Canal服务
canal.deployer-1.1.4.tar.gz
1)下载后放到cd /usr/local/canal

tar -zxvf canal.deployer-1.1.4.tar.gz

2)修改配置文件
vi conf/example/instance.properties


# position info
# 需要改成自己的数据库信息
canal.instance.master.address=10.0.0.11:3306
# 设置开始读的文件(可不设置)
canal.instance.master.journal.name=mysql-bin.000001
# 设置开始读的偏移量(可不设置)
canal.instance.master.position=154
canal.instance.master.timestamp=
canal.instance.master.gtid=

# rds oss binlog
canal.instance.rds.accesskey=
canal.instance.rds.secretkey=
canal.instance.rds.instanceId=

# table meta tsdb info
canal.instance.tsdb.enable=true
#canal.instance.tsdb.url=jdbc:mysql://127.0.0.1:3306/canal_tsdb
#canal.instance.tsdb.dbUsername=canal
#canal.instance.tsdb.dbPassword=canal

#canal.instance.standby.address =
#canal.instance.standby.journal.name =
#canal.instance.standby.position =
#canal.instance.standby.timestamp =
#canal.instance.standby.gtid=

# username/password
# 需要改成自己的数据库用户名和密码
canal.instance.dbUsername=root
canal.instance.dbPassword=123456
canal.instance.connectionCharset = UTF-8

# 需要改成同步数据库表的规则,支持正则表达式
# 如果要排除某张表也可使用代码操作(推荐)
# table regex
canal.instance.filter.regex=.*\\..*

在这里插入图片描述

3)进入bin目录下启动

sh bin/startup.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值