mysql 开源~canal安装解析
一 简介:今天咱们来聊聊canal的一些东西
二 原理:
- canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议
- mysql master收到dump请求,开始推送binary log给slave(也就是canal)
- canal解析binary log对象(原始为byte流)
三 安装
1 环境安装
1 安装JDK环境
2 安装canal
1 wget https://github.com/alibaba/canal/releases/download/canal-1.0.24/canal.deployer-1.0.24.tar.gz
2 mkdir -p /usr/local/canal
3 tar xzvf canal.deployer-1.0.24.tar.gz -C /usr/local/canal/
3 在目标数据库创建canal用户
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%' IDENTIFIED BY 'canal';
flush privileges
4 修改cannal默认端口
sed -i 's/11111/3310/g' canal.properties
5 创建 相关解析库
cd conf
mkdir db2
cd db2
cp ../example/instance.properties .
6 配置文件解读并修改
## mysql serverId
canal.instance.mysql.slaveId = 1234//类似于mysql slave的server_id,用于模拟一台机器
# position info
canal.instance.master.address = IP:PORT//目标数据库的IP和PORT
canal.instance.master.journal.name =
canal.instance.master.position =
canal.instance.master.timestamp =
# username/password
canal.instance.dbUsername = canal //复制的账号和密码
canal.instance.dbPassword = canal
canal.instance.defaultDatabaseName =
canal.instance.connectionCharset = UTF-8//连接解析的字符集
# table regex
canal.instance.filter.regex = db2.*\\..*//perl的正则匹配,设置过滤的库和表,下面会有说明
# table black regex
canal.instance.filter.black.regex =
按照以上修改即可
7 启动
/bin/startup.sh 查看端口是否存在 进程是否存在
8 相关正则匹配
1. 所有表:.* or .*\\..*
2. canal schema下所有表: canal\\..*
3. canal下的以canal打头的表:canal\\.canal.*
4. canal schema下的一张表:canal.test1
5. 多个规则组合使用:canal\\..*,mysql.test1,mysql.test2 (逗号分隔)
6 匹配多个类似库: canal_.*\\..*
9 配置总结
1 spring方式:基于spring xml + properties进行定义,构建spring配置.
2 增加DB源的话,直接添加即可,无需重启服务.即时生效
四 自动重启脚本
#!/bin/sh
export JAVA_HOME=/usr/java/jdk1.7.0_45
export PATH=$PATH:$JAVA_HOME/bin:/data/canal/bin
result2=`netstat -anlp|grep '0.0.0.0:3310'|wc -l`
if [[ "$result2" > 0 ]];
then
echo "ok"
else
sh /usr/local/canal/bin/startup.sh
fi
五 相关注意事项
1 选择合适版本
2 相关客户端只能被独占 这点要尤其注意
六 以后关于具体测试之类的会补充
mysql 开源~canal安装解析的更多相关文章
- mysql 开源 ~ canal+otter系列(1)
一 简介: 今天咱们来聊聊 canal和otter的组合搭配吧二 概念统计 1. 基于Canal开源产品,获取数据库增量日志数据. 2. 典型管理系统架构,manager(web管理)+nod ...
- mysql 开源 ~ canal+otter系列(2)
一 创建相应用户 源数据用户权限: GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO `retl`@'%'; 目的 ...
- mysql 开源~canal的深度解读1
一 简介:经过一段时间的研究,对canal有了一些见解 二 配置文件: 1 canal.properties (系统根配置文件) 主要参数列表 canal.properties (系统根配 ...
- mysql 开源~canal维护相关问题
一 简介:咱们来讨论下canal的一些技巧 二 场景 场景1 canal过滤指定库后,后端java调用读取相关数据时候出现大量的空事务,为何会出现空事务呢,空事务是由于配置了指定的过滤规则,导致了其他 ...
- canal 基于Mysql数据库增量日志解析
canal 基于Mysql数据库增量日志解析 1.前言 最近太多事情 工作的事情,以及终身大事等等 耽误更新,由于最近做项目需要同步监听 未来电视 mysql的变更了解到公司会用canal做增量监 ...
- [腾讯云]简单在腾讯云 CenTOS7.0 安装Nginx,Mysql(MariaDB),Memcache,解析PHP!
1.安装LNMP之前要安装EPEL,以便安装源以外的软件,如Nginx,phpMyAdmin等. yum install epel-release 2.安装Nginx a) yum install n ...
- 开源服务专题之--------mysql的编译安装
为什么选择MySQL 1:mysql性能卓越,服务稳定,很少出现异常宕机 2:mysql开源免费,无版权制约,自主性及使用成本低 3:产品耦合度,mysql支持多种操作系统,支持多开发语言,特别是ph ...
- MySQL系列-第一章节:MySQL介绍与安装
1.数据库介绍 1.1.什么是数据库`<Database>` 简单说存放数据的仓库,这个仓库按照一定的数据结构<数据结构是指数据的组织形式或数据之间的联系>来组织.存储的,我们 ...
- {MySQL数据库初识}一 数据库概述 二 MySQL介绍 三 MySQL的下载安装、简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 初识sql语句
MySQL数据库初识 MySQL数据库 本节目录 一 数据库概述 二 MySQL介绍 三 MySQL的下载安装.简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 ...
随机推荐
- python3网络爬虫(2.1):爬取堆糖美女
额,明明记得昨晚存了草稿箱,一觉醒来没了,那就简写点(其实是具体怎么解释我也不太懂/xk,纯属个人理解,有错误还望指正) 环境: 版本:python3 IDE:pycharm2017.3.3 浏览器: ...
- MT【3】只有零向量旋转不变
解答: 评:利用了零向量方向不唯一的性质.
- 关于min_25筛的一些理解
关于min_25筛的一些理解 如果想看如何筛个普通积性函数啥的,就别往下看了,下面没有的(QwQ). 下文中,所有的\(p\)都代表质数,\(P\)代表质数集合. 注意下文中定义的最小/最大质因子都是 ...
- luogu2542 航线规划 (树链剖分)
不会lct,所以只能树剖乱搞 一般这种删边的题都是离线倒着做,变成加边 他要求的结果其实就是缩点以后两点间的距离. 然后先根据最后剩下的边随便做出一个生成树,然后假装把剩下的边当成加边操作以后处理 这 ...
- volatile的内存语义
volatile的特性 理解volatile特性的一个好方法是把对volatile变量的单个读/写,堪称是使用同一个锁对这些单个读/写操作做了同步. 锁的happens-before规则保证释放锁和获 ...
- UVALive - 6440(模拟)
题目链接:https://vjudge.net/contest/241341#problem/G 题目大意:输入一个N,n次操作.对于第一种操作增加一个病人,告诉病人的t0,st0,r.第二种操作,在 ...
- Android教程:在百度地图上画出轨迹
[日期:2013-04-14] 来源:Linux社区 作者:crazyxin1988 [字体:大 中 小] 接着上面的项目<Android访问webservice.客户端登录注册> ...
- eclipse index 不工作 F3 不能找到头文件
To add paths containing code to parse, follow these steps :1. Right click on the project2. Select Pr ...
- 两场CF
分别是正规赛998和虚拟赛935 998我神速A了前三题之后挂了,第四题是一个打表找规律题然而我并没有想到打表... 然后靠着速度拿到470名,上了蓝名.这告诉我们:输入数据是一个数/两个数(noip ...
- [luoguU42591][小T的绝对值]
luoguU42592 20分思路 对给出的序列求出前缀和,然后\(n^2\)暴力枚举即可拿到第一档分 40分思路 对于数列中的数都相同的情况.只需要特判即可.只要特别注意全都是0的情况即可. 100 ...