Canal安装和配置

  • 1.开启MySQL主从
    • 1.1.开启binlog
    • 1.2.设置用户权限
  • 2.安装Canal
    • 2.1.创建网络
    • 2.2.安装Canal
    • 2.3.查看canal是否与mysql建立连接

下面我们就开启mysql的主从同步机制,让Canal来模拟salve

1.开启MySQL主从

Canal是基于MySQL的主从同步功能,因此必须先开启MySQL的主从功能才可以。

这里以之前用Docker运行的mysql为例:

1.1.开启binlog

打开mysql容器挂载的日志文件,我的在/tmp/mysql/conf目录:

修改文件:

vi /tmp/mysql/conf/my.cnf

添加内容:

log-bin=/var/lib/mysql/mysql-bin
binlog-do-db=heima

配置解读:

  • log-bin=/var/lib/mysql/mysql-bin:设置binary log文件的存放地址和文件名,叫做mysql-bin
  • binlog-do-db=heima:指定对哪个database记录binary log events,这里记录heima这个库

最终效果:

[mysqld]
skip-name-resolve
character_set_server=utf8
datadir=/var/lib/mysql
server-id=1000
log-bin=/var/lib/mysql/mysql-bin
binlog-do-db=heima

1.2.设置用户权限

接下来添加一个仅用于数据同步的账户,出于安全考虑,这里仅提供对heima这个库的操作权限。

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

重启mysql容器即可

docker restart mysql

测试设置是否成功:在mysql控制台,或者Navicat中,输入命令:

show master status;

2.安装Canal

2.1.创建网络

我们需要创建一个网络,将MySQL、Canal、MQ放到同一个Docker网络中:

docker network create heima

让mysql加入这个网络:

docker network connect heima mysql

2.2.安装Canal

下载canal的镜像压缩包,上传到虚拟机,然后通过命令导入:

docker load -i canal.tar

然后运行命令创建Canal容器:

docker run -p 11111:11111 --name canal \
-e canal.destinations=heima \
-e canal.instance.master.address=mysql:3306  \
-e canal.instance.dbUsername=canal  \
-e canal.instance.dbPassword=canal  \
-e canal.instance.connectionCharset=UTF-8 \
-e canal.instance.tsdb.enable=true \
-e canal.instance.gtidon=false  \
-e canal.instance.filter.regex=heima\\..* \
--network heima \
-d canal/canal-server:v1.1.5

说明:

  • -p 11111:11111:这是canal的默认监听端口
  • -e canal.destinations=heima:集群名称
  • -e canal.instance.master.address=mysql:3306:数据库地址和端口,如果不知道mysql容器地址,可以通过docker inspect 容器id来查看
  • -e canal.instance.dbUsername=canal:数据库用户名
  • -e canal.instance.dbPassword=canal :数据库密码
  • -e canal.instance.filter.regex=:要监听的表名称

表名称监听支持的语法:

mysql 数据解析关注的表,Perl正则表达式.
多个正则之间以逗号(,)分隔,转义符需要双斜杠(\\)
常见例子:
1.  所有表:.*   or  .*\\..*
2.  canal schema下所有表: canal\\..*
3.  canal下的以canal打头的表:canal\\.canal.*
4.  canal schema下的一张表:canal.test1
5.  多个规则组合使用然后以逗号隔开:canal\\..*,mysql.test1,mysql.test2

2.3.查看canal是否与mysql建立连接

1.进入容器内部

docker exec -it canal bash

2.查看运行日志

tail -f canal-server/logs/canal/canal.log

如有不足,请多指教,
未完待续,持续更新!
大家一起进步!

Canal安装和配置相关推荐

  1. [Canal]canal安装和配置

    1.安装 1.下载安装包:https://github.com/alibaba/canal/releases/download/canal-1.1.5/canal.deployer-1.1.5.tar ...

  2. kafka mysql安装与配置_Mac环境canal+mysql+kafka的安装及使用

    为了实现 实时同步数据,在mac环境搭建了canal,mysql,kafka的一套流程 使用canal加mysql加kafka的方式传递数据 mysql 数据源头 canal模仿slave冲mysql ...

  3. mysql canal 安装测试_canal安装配置与mysql操作监听,我已经帮你踩过了所有的坑...

    canal安装配置与mysql操作监听,我已经帮你踩过了所有的坑 废话不再多说,直接撸代码 第一步,canal配置 第二步,mysql配置 第三步,如何解决出现的错误 废话不再多说,直接撸代码 第一步 ...

  4. 安装和配置Canal

    安装和配置Canal 下面我们就开启mysql的主从同步机制,让Canal来模拟salve 1.开启MySQL主从 Canal是基于MySQL的主从同步功能,因此必须先开启MySQL的主从功能才可以. ...

  5. cannel mysql_mysql、canal、kafka、数据同步系列(四)canal的安装和配置

    历经了前面的各种安装,终于到canal的安装和配置了.这里依然采用docker-compose安装. 1.编写docker-compose.yml文件 version: '3' services: c ...

  6. mysql数据实时同步:Canal安装部署、kafka安装、zk安装、mysql安装、Canal Server+Canal Client HA,Canal+mysql+Kafka,相关验证(学习笔记)

    目录 Canal安装部署 1.1. 服务器准备 1.2. 设置主机名并配置hosts 1.3. 免密设置 1.4. 设置ntp时间 1.5. 关闭防火墙 1.6. 关闭selinux 1.7. 安装J ...

  7. Maven安装与配置(最实用!!!)eclipse中配置maven

    Maven安装与配置 一.需要准备的东西 JDK Eclipse(本章主要是在eclipse中进行配置maven) Maven程序包 二.下载与安装 1. 前往maven下载最新版的Maven程序: ...

  8. Portainer 安装与配置

    文章目录 Portainer 安装与配置 一.介绍 二.安装使用 1.单机运行 2.基于swarm集群方式运行 Portainer 安装与配置 一.介绍 ​ Portainer 是一个开源.轻量级Do ...

  9. Myeclipse安装、配置、测试

    Myeclipse安装.配置.测试(win7_64bit) 目录 1.概述 2.本文用到的工具 3.安装与激活 4.JavaSE开发测试(确保JDK已正确安装) 5.JavaEE开发测试(确保服务器和 ...

最新文章

  1. 测试香港服务器访问速度的方法
  2. VDI序曲九 实战体验Remote FX(重磅推荐)
  3. MeanShift 目标跟踪
  4. 分页缓冲池占用很高怎么解决_聊点深的:解析MySQL,看看InnoDB 缓冲池(buffer pool) 工作原理...
  5. java读取excel2010文件_java如何读写excel2010
  6. 文件给制实施规定的实例(GB8567-88)
  7. 使用正则把数字前面的符号替换_正则表达式(一) 基本表达式
  8. pat1100. Mars Numbers (20)
  9. fcntl函数的用法总结
  10. python植树问题代码_小学数学最难的13种典型题,让孩子吃透了,拿高分不难!...
  11. 服务器winsxs文件夹怎么清理工具,winsxs文件夹怎么清理 winsxs文件夹清理方法教程...
  12. 如何用CSS实现div元素高度相对于整个屏幕100%
  13. 免费PBootCMS采集支持聚合文章采集插件
  14. 同步,异步,直流电机原理
  15. html页面如何引用母版页,内容页面访问母版页控件的两种方法
  16. B站小甲鱼零基础python视频P57爬取煎蛋网OOXX妹纸图代码修改
  17. 看电影哪款蓝牙耳机降噪效果最好?性价比降噪蓝牙耳机推荐
  18. pycharm调试模式
  19. java cell_Cell
  20. 简易垂直搜索引擎的核心算法总结

热门文章

  1. 树莓派+PCA9685+舵机控制:wiringPi实现
  2. L-DETR: A Light-Weight Detector for End-to-End Object Detection With Transformers
  3. 【TSP问题】基于灰狼算法求解旅行商问题matlab源码
  4. (附源码)springboot个人健康管理 毕业设计202031
  5. paddlepaddle(三)构建网络模型
  6. 微软的COM中GUID和UUID、CLSID、IID
  7. Android3D旋转动画库--Rotate3D
  8. js DOM parentElement parentNode - Kaiqisan
  9. 钱币兑换问题(dp+数学)
  10. QLExpress 系列入门教程-08-QLExpress 不定参数等补充内容