Linux安装canal实现增量数据同步

前言:本文章将采用docker方式安装canal

canal主要用途是基于 MySQL 数据库增量日志解析,并能提供增量数据订阅和消费。

Canal应用场景

1.电商场景下商品、用户实时更新同步到至Elasticsearch、solr等搜索引擎;
2.价格、库存发生变更实时同步到redis;
3.数据库异地备份、数据同步;
4.代替使用轮询数据库方式来监控数据库变更,有效改善轮询耗费数据库资源。

一、安装mysql

1、在/tmp目录下创建mysql数据卷挂载目录

注:创建数据卷是为了方便修改mysql的配置

1.1、创建配置文件挂载目录:

[root@k8s-master1 /]# mkdir -p /tmp/mysql/conf

1.2、创建配置文件并添加如下内容

[root@k8s-master1 /]# vim /tmp/mysql/conf/hmy.cnf
[mysqld]
skip-name-resolve
character_set_server=utf8
datadir=/var/lib/mysql
# 开启 binlog,方便后续对接canal
log-bin=/var/lib/mysql/mysql-bin
# 选择 ROW 模式,方便后续对接canal
binlog-format=ROW
# 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复
server-id=1000

1.3、创建mysql数据卷挂载目录

[root@k8s-master1 /]# mkdir -p /tmp/mysql/data

2、docker安装mysql

[root@k8s-master1 /]# docker run --name mysql  -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -v /tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf -v /tmp/mysql/data:/var/lib/mysql -d mysql:5.7.25

3、创建数据库用户并授权

授权 canal 链接 MySQL 账号具有作为 MySQL slave 的权限,在数据库连接工具里面,执行下面的语句即可:

create user canal@'%' IDENTIFIED by 'canal';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT,SUPER ON *.* TO 'canal'@'%';
FLUSH PRIVILEGES;

4、查看bin-log是否已开启

在这里插入图片描述

二、安装canal

1、拉取镜像

[root@k8s-master1 /]# docker pull canal/canal-server:v1.1.1

2、安装canal-server容器

在这里插入图片描述

[root@k8s-master1 /]# docker run -
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值