canal 搭建

搭建mysql环境

  • 对于自建 MySQL , 需要先开启 Binlog 写入功能,配置 binlog-format 为 ROW 模式,my.cnf 中配置如下
[mysqld]
log-bin=mysql-bin # 开启 binlog
binlog-format=ROW # 选择 ROW 模式
server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复
  • 授权 canal 链接 MySQL 账号具有作为 MySQL slave 的权限, 如果已有账户可直接 grant
CREATE USER canal IDENTIFIED BY 'canal';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
-- GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;
FLUSH PRIVILEGES;

这个第一步还是蛮简单的,就是要自己搭建一个mysql,修改一下mysql的配置,这个配置一般是再/etc/my.cnf中,还是得要点小基础的哈,至少mysql得会搭

搭建canal环境

  • 下载 canal, 访问 release 页面 , 选择需要的包下载, 如以 1.0.17 版本为例
wget https://github.com/alibaba/canal/releases/download/canal-1.0.17/canal.deployer-1.0.17.tar.gz
  • 解压缩
mkdir /tmp/canal
tar zxvf canal.deployer-$version.tar.gz -C /tmp/canal

解压完成后,进入 /tmp/canal 目录,可以看到如下结构

  • 配置修改
vi conf/example/instance.properties
#################################################
## mysql serverId , v1.0.26+ will autoGen
canal.instance.mysql.slaveId=8# enable gtid use true/false
canal.instance.gtidon=false# position info 需要改成自己的数据库信息
canal.instance.master.address=10.0.98.186:3306
canal.instance.master.journal.name=
canal.instance.master.position=
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=root
canal.instance.connectionCharset=UTF-8
canal.instance.defaultDatabaseName=expert-online-school
# table regex
canal.instance.filter.regex=.*\\..*
# table black regex
canal.instance.filter.black.regex=
#################################################

注意: canal.instance.connectionCharset 代表数据库的编码方式对应到 java 中的编码类型,比如 UTF-8,GBK , ISO-8859-1 如果系统是1个 cpu,需要将 canal.instance.parser.parallel 设置为 false

  • 启动
sh bin/startup.sh

到目前为止 canal的服务端我们已经搭建好了 但是到目前 我们只是把数据库的binlog 拉到canal中,我们还得把数据用otter去消费。

需要更多教程,微信扫码即可

canal 入门(1)相关推荐

  1. 大数据技术之Canal入门篇

    大数据技术之Canal入门篇 文章目录 大数据技术之Canal入门篇 写在前面 第 1 章 Canal 入门 1.1 什么是 Canal 1.2 MySQL 的Binlog 1.2.1 什么是 Bin ...

  2. canal mysql5.6_超详细的Canal入门,看这篇就够了!

    思维导图 文章已收录Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary 前言 我们都知道一个系统最重要的是数据,数据是保存在数据库 ...

  3. 超详细的Canal入门,看这篇就够了!

    思维导图 文章已收录Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary 前言 我们都知道一个系统最重要的是数据,数据是保存在数据库 ...

  4. canal 入门(2)

    写个简单的Demo 去监听mysql 数据的变动 Jar包 <dependency><groupId>com.alibaba.otter</groupId>< ...

  5. 【建议收藏】超详细的Canal入门,看这篇就够了!!!

    概述 canal是阿里巴巴旗下的一款开源项目,纯Java开发.基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL(也支持mariaDB). 背景 早期,阿里巴巴B2B公司 ...

  6. 【建议收藏】超详细的Canal入门,看这篇就够了。

    概述 canal是阿里巴巴旗下的一款开源项目,纯Java开发.基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL(也支持mariaDB). 背景 早期,阿里巴巴B2B公司 ...

  7. Canal(1):Canal入门

    1 什么是 Canal 阿里巴巴 B2B 公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了同步杭州和美国异地机房的需求,从 2010 年开始,阿里系公司开始逐步的尝试基于数据 ...

  8. Canal使用入门学习

    canal官方github 超详细的Canal入门,看这篇就够了! 阿里开源Canal–①简介 centos7用tar包安装mysql WINDOWS下MYSQL开启BINLOG 一.简介 canal ...

  9. canal+Kafka实现mysql与redis数据同步

    前言 上篇文章简单介绍canal概念,本文结合常见的缓存业务去讲解canal使用.在实际开发过程中,通常都会把数据往redis缓存中保存一份,做下简单的查询优化.如果这时候数据库数据发生变更操作,就不 ...

最新文章

  1. python用于什么-Python用于哪些领域
  2. python和c哪个适合入门-Python和C先学哪个好?
  3. 查看mysql日志大小,SQL Server:查看SQL日志文件大小命令:dbcc sqlperf(logspace)
  4. 每天一小时python官方文档学习(二)————流程控制工具
  5. java护照号码校验_学无止境之小白学java……第001天
  6. 生成不重复的随机数的三种方法
  7. 用System.Net.Mail发送邮件
  8. java插件不启动_java-插件安装后Eclipse启动问题
  9. 虚拟机是怎么实现的?(转)
  10. java教学视频全集迅雷,BAT大厂面试总结
  11. Invalid bound statement (not found)出现的原因和解决方法
  12. 在坦桑尼亚如何打国际长途,打给你中国的朋友?
  13. 股票爆仓有几种情况?股票爆仓具体怎么预防?
  14. Cg Programming In Unity Projection of Bumpy Surfaces
  15. 论坚持的力量-知耻后勇
  16. Doxygen+Graphviz生成函数调用流程图
  17. 【java】eclipse
  18. matlab求系统状态时间响应,MATLAB求解系统零状态响应可以调用( )函数。
  19. DG 主库fial over,强制激活备库解决案例
  20. rtge更好发挥士大夫广告的通过合同

热门文章

  1. 前一天还在聊抢票,第二天就被裁了,年底是互联网行业的寒冬吗?
  2. 华为Mate X 5G再次秒售罄;全新折叠屏手机渲染图曝光:确实不一般!
  3. 韩国女主播被中国土豪打赏13万 差点吓晕!网友:真是没见过世面
  4. 这个城市快递外卖小哥将配电子号牌了,违法2起以上停止派单
  5. FTP server的使用【原创】
  6. 用电饭锅做蛋糕的做法
  7. couchbase php,升级PHP7时couchbase扩展导入的bug
  8. linux内核实验教程答案,20199310《Linux内核原理与分析》第十五周作业 Linux安全实验...
  9. u-boot移植随笔:u-boot的内存分布图
  10. cad文字提取到excel_别怕!CAD表格与EXCEL之间的转化,有它就够了