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用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 ...
随机推荐
- 一个本科学生对Linux的认知
我是一名大三的普通一本大学的软件工程的一名学生,学校开设了一些关于系统开发的课程,纸上得来终觉浅,学校的课程课时较短,想要在56个课时之内学会一些公司需要的技能,无疑是纸上谈兵,一门语言的学习,需要的 ...
- 利用可变参数打印log2
#pragma once #include <string> #include "StdAfx.h" #include <Windows.h> using ...
- docker --Nexus仓库
Nexus 简介 Nexus 是个仓库管理器,目前主要分2大版本:2.X 和 3.X.2.X 主要支持的格式是Maven.P2.OBR.Yum.3.X主要支持的是Docker.NuGet.npm.Bo ...
- Windows Server 脚本记录Apache、Mysql 每分钟并发数
打开windows server 计划任务管理器.定时执行如下的Bat脚本即可. 在D盘新建一个monitor文件夹,创建ApacheMysql.bat文件.内容如下: 在monitor文件夹中新建m ...
- 自学Linux Shell15.1-处理信号
点击返回 自学Linux命令行与Shell脚本之路 15.1-处理信号 Linux使用信号与系统上运行的进程进行通信.可以使用这些信号控制Shell脚本的运行,只需要让shell脚本在接收到来自Lin ...
- 批量修改sharepoint 2013站点里区域设置
cls [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") foreach ($we ...
- Change upload file limit in specified Webapllication in SharePoint (PowerShell)
http://gallery.technet.microsoft.com/office/Change-upload-file-limit-89502ff2 http://sharepointrela ...
- 【转】NFS服务配置与mount nfs时-o nolock的问题
NFS文件系统挂载步骤 1.创建共享目录 #mkdir /home/hellolinux/nfs 2.创建或修改/etc/exports文件 #vi /etc/exports home/helloli ...
- django restframework Serializers
序列化器允许将诸如查询集和模型实例之类的复杂数据转换为原生 Python 数据类型,然后可以将它们轻松地呈现为 JSON,XML 或其他内容类型.序列化器还提供反序列化,在首次验证传入数据之后,可以将 ...
- hdu 3038(扩展并查集)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3038 题意:给出区间[1,n],下面有m组数据,l r v区间[l,r]之和为v,每输入一组数据,判断 ...