一、安装前准备

配置Mysql:

  1. [mysqld]
  2. log-bin=mysql-bin #添加这一行就ok
  3. binlog-format=ROW #选择row模式
  4. server_id=1 #配置mysql replaction需要定义,不能和canal的slaveId重复
  5. /etc/init.d/mysqld restart #重启mysql

在mysql中 配置canal数据库管理用户,配置相应权限(repication权限)

  1. CREATE USER canal IDENTIFIED BY 'canal';
  2. GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
  3. -- GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;
  4. FLUSH PRIVILEGES;

二、部署canal

下载地址:

https://github.com/alibaba/canal/releases

下载安装包:

https://github.com/alibaba/canal/releases/download/v1.0.25/canal.deployer-1.0.25.tar.gz

解压安装:

  1. cd /usr/local/src/
  2. mkdir canal
  3. tar -xf canal.deployer-1.0.25.tar.gz -C canal
  4. mv canal /usr/local/

canal文件目录结构:

  1. [root@erpdev01 canal]# ll
  2. total 4
  3. drwxr-xr-x 2 root root 75 Feb 6 15:14 bin
  4. drwxr-xr-x 4 root root 78 Feb 6 15:13 conf
  5. drwxr-xr-x 2 root root 4096 Feb 6 14:54 lib
  6. drwxrwxrwx 4 root root 34 Feb 6 14:57 logs

三、配置canal

修改配置canal配置文件:

vim conf/example/instance.properties

  1. #################################################
  2. ## mysql serverId
  3. canal.instance.mysql.slaveId=1234
  4. # position info
  5. canal.instance.master.address=127.0.0.1:3306
  6. canal.instance.master.journal.name=
  7. canal.instance.master.position=
  8. canal.instance.master.timestamp=
  9. # table meta tsdb info
  10. #canal.instance.tsdb.enable=false
  11. #canal.instance.tsdb.dir=${canal.file.data.dir:../conf}/${canal.instance.destination:}
  12. #canal.instance.tsdb.url=jdbc:h2:${canal.instance.tsdb.dir}/h2;CACHE_SIZE=1000;MODE=MYSQL;
  13. #canal.instance.tsdb.url=jdbc:mysql://127.0.0.1:3306/canal_tsdb
  14. #canal.instance.tsdb.dbUsername=canal
  15. #canal.instance.tsdb.dbPassword=canal
  16. #canal.instance.standby.address =
  17. #canal.instance.standby.journal.name =
  18. #canal.instance.standby.position =
  19. #canal.instance.standby.timestamp =
  20. # username/password
  21. canal.instance.dbUsername=canal
  22. canal.instance.dbPassword=canal
  23. canal.instance.defaultDatabaseName= #去除test
  24. canal.instance.connectionCharset=UTF-8
  25. # table regex
  26. canal.instance.filter.regex=.*\\..*
  27. # table black regex
  28. canal.instance.filter.black.regex=
  29. #################################################

vim conf/canal.properties

  1. #canal.instance.tsdb.spring.xml=classpath:spring/tsdb/h2-tsdb.xml #禁止tsdb

四、启动和停止canal:

  1. ./bin/startup.sh 或者 ./bin/stop.sh

安装canal的更多相关文章

  1. Docker安装canal、mysql进行简单测试与实现redis和mysql缓存一致性

    一.简介 canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费. 早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求 ...

  2. mysql 开源~canal安装解析

    一 简介:今天咱们来聊聊canal的一些东西 二 原理: canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议 mysql ma ...

  3. alibaba canal安装笔记

    canal是alibaba开源的基于mysql binlog解析工具,可利用它实现mysql增量订阅/消费,典型的应用场景如下图: 利用canal,可以将mysql的数据变化,通过解析binlog,投 ...

  4. canal简单安装使用

    canal简介:https://github.com/alibaba/canal 1.数据库配置 首先使用canal需要修改数据库配置 [mysqld] log-bin=mysql-bin # 开启 ...

  5. canal+mysql+kafka实时数据同步安装、配置

    canal+mysql+kafka安装配置 概述 简介 canal译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费. 基于日志增量订阅和消费的业务包括 数 ...

  6. 基于Spark Streaming + Canal + Kafka对Mysql增量数据实时进行监测分析

    Spark Streaming可以用于实时流项目的开发,实时流项目的数据源除了可以来源于日志.文件.网络端口等,常常也有这种需求,那就是实时分析处理MySQL中的增量数据.面对这种需求当然我们可以通过 ...

  7. canal 入门(基于docker)

    第一步:安装MySQL:(可以参考:https://my.oschina.net/amhuman/blog/1941540) 命令: sudo docker run -it -d --restart ...

  8. kubeadm安装kubernetes 1.13.1集群完整部署记录

    k8s是什么 Kubernetes简称为k8s,它是 Google 开源的容器集群管理系统.在 Docker 技术的基础上,为容器化的应用提供部署运行.资源调度.服务发现和动态伸缩等一系列完整功能,提 ...

  9. 使用canal增量同步mysql数据库信息到ElasticSearch

    本文介绍如何使用canal增量同步mysql数据库信息到ElasticSearch.(注意:是增量!!!) 1.简介 1.1 canal介绍 Canal是一个基于MySQL二进制日志的高性能数据同步系 ...

随机推荐

  1. 高德地图API INVALID_USER_SCODE问题以及keystore问题

    今天这篇文章会给大家介绍三个问题: 1,接入API时出现invalid_user_scode问题 首先进行第一个大问题,接入高德地图API时出现invalid_user_scode问题 因为项目需要接 ...

  2. 一款基于HTML5 Canvas的画板涂鸦动画

    今天给各网友分享一款基于HTML5 Canvas的画板涂鸦动画.记得之前我们分享过一款HTML5 Canvas画板工具,可以切换不同的笔刷,功能十分强大.本文今天要再来分享一款基于HTML5 Canv ...

  3. lua工具库penlight--09技术选择

    模块化和粒度 在理想的世界,一个程序应该只加载它需要的库.Penlight需要额外100 Kb 的字节码来工作.它是简单但却乏味要加载你需要什么: local data = require 'pl.d ...

  4. springboot集成模板引擎freemarker和thymeleaf

    freemarkder和thymeleaf都是java的模板引擎,这里只介绍这两种模板引擎如何在sprongboot中配置: 1. freemarkder 1.1 在pom.xml中添加依赖包 < ...

  5. mysql中创建用户和赋权限

    mysql命令行用的不多,大部分使用工具类替代,所以这里记录下命令行模式下创建用户和赋予权限的命令,不用每次麻烦百度. 1. 创建oozie用户,%符号表示仅限于远程登录 create user 'o ...

  6. 数据库 Oracle数据库对象二

    视图 --视图是对表逻辑抽象 --视图的好处:简化查询 --视图是一种虚表 --视图建立在已有表的基础上,视图赖以建立的这些吧称为基表. --向视图提供数据内容的语句为select语句,可以将视图理解 ...

  7. 关于Unity的开发模式

    Unity是组件化的开发模式,总结起来就是节点与组件.节点就像人,组件就像工具,人拿不同的工具,就变成不同的角色,有不同的作用.人+医学常识=医生. 1.每个空节点创建后,刚开始只有一个Transfo ...

  8. 京东阅读PDF导出

    适用平台:windows 需要软件:FastStone Capture(截图软件),TinyTask(操作录制软件) 1.打开京东阅读 2.设置截图软件 (1)设置截图区域(FastStone Cap ...

  9. strust2自定义interceptor的基本方法及操作

    需求:制作一个网站需要用户登陆后才能查看,即一个权限的问题 1.首先明确在用户没登陆前有两个Action请求是可以通过的,即注册和登陆. 2.创建拦截器,如UserLoginInterceptor.j ...

  10. HTML邮件注意事项(转)

    1.全局规则之一,不要写<style>标签.不要写class,所有CSS都用style属性,什么元素需要什么样式就用style写内联的CSS. 2.全局规则之二,少用图片,邮箱不会过滤你的 ...