阿里云canal订阅mysql的binlog日志实现数据和表结构实时同步_kenyooon的博客-CSDN博客_阿里dxp进行表结构同步


本站和网页 https://blog.csdn.net/qq_34629482/article/details/80736474 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

阿里云canal订阅mysql的binlog日志实现数据和表结构实时同步_kenyooon的博客-CSDN博客_阿里dxp进行表结构同步
阿里云canal订阅mysql的binlog日志实现数据和表结构实时同步
kenyooon
于 2018-06-19 17:26:23 发布
16559
收藏
10
文章标签:
canal
mysql
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_34629482/article/details/80736474
版权
1.开启mysql binlog日志 安装路径下的my.ini文件添加配置
log-bin=mysql-bin #开启日志
binlog-format=ROW #选择row模式
server_id=1 
开启日志需要重启mysql服务后生效
2.下载canal 地址:https://github.com/alibaba/canal/releases
修改配置conf/canal.properties 全局配置,设置自己的数据库
#################################################  ## mysql serverId  canal.instance.mysql.slaveId = 1234  # position info,需要改成自己的数据库信息  canal.instance.master.address = 127.0.0.1:3306   canal.instance.master.journal.name =canal.instance.master.position =canal.instance.master.timestamp =#canal.instance.standby.address =   #canal.instance.standby.journal.name =  #canal.instance.standby.position =   #canal.instance.standby.timestamp =   # username/password,需要改成自己的数据库信息  canal.instance.dbUsername = rootcanal.instance.dbPassword = rootcanal.instance.defaultDatabaseName = canneltest  canal.instance.connectionCharset = UTF-8  # table regex  canal.instance.filter.regex = .*\\..* 
#################################################
配置slave,slave可以配置成订阅单表日志,也可以配置订阅多表,或所有的表的日志,也可以配置多个slave,只需修改canal.instance.filter.regex 参数,我这里订阅了所有的表日志
conf\example路径下的
################################################### mysql serverIdcanal.instance.mysql.slaveId = 1234# position infocanal.instance.master.address = 127.0.0.1:3306canal.instance.master.journal.name = canal.instance.master.position = canal.instance.master.timestamp = #canal.instance.standby.address = #canal.instance.standby.journal.name =#canal.instance.standby.position = #canal.instance.standby.timestamp = # username/passwordcanal.instance.dbUsername = canalcanal.instance.dbPassword = canalcanal.instance.defaultDatabaseName =canneltestcanal.instance.connectionCharset = UTF-8# table regexcanal.instance.filter.regex = .*\\..*# table black regexcanal.instance.filter.black.regex =  
#################################################
然后用程序需要订阅解析日志,引入相应版本的jar,我这里是1.0.24
<dependency>
<groupId>com.alibaba.otter</groupId>
<artifactId>canal.client</artifactId>
<version>1.0.24</version>
</dependency>
public static void main(String[] args) throws InterruptedException {
// 链接canal
CanalConnector connector = CanalConnectors.newSingleConnector(new InetSocketAddress("127.0.0.1", 11111),
"example", "", "");
connector.connect();
// 开启订阅日志
connector.subscribe();
// 循环订阅
while (true) {
try {
// 每次读取 1000 条
Message message = connector.getWithoutAck(1000);
System.out.println(message);
long batchID = message.getId();
int size = message.getEntries().size();
if (batchID == -1 || size == 0) {
Thread.sleep(1000); // 没有数据
} else {
System.out.println("数据进入===>"+message);
connector.ack(batchID);
} catch (Exception e) {
// TODO: handle exception
} finally {
Thread.sleep(1000);
}可以打印解析message生成sql,集成kafka提供生产,供订阅同步数据
kenyooon
关注
关注
点赞
10
收藏
打赏
评论
阿里云canal订阅mysql的binlog日志实现数据和表结构实时同步
1.开启mysql binlog日志 安装路径下的my.ini文件添加配置log-bin=mysql-bin #开启日志binlog-format=ROW #选择row模式server_id=1 开启日志需要重启mysql服务后生效2.下载canal 地址:https://github.com/alibaba/canal/releases修改配置conf/canal.properties 全局配置...
复制链接
扫一扫
使用 Binlog 和 Canal 从 MySQL 抽取数据
张吉的博客
08-14
7万+
数据抽取是 ETL 流程的第一步,我们常会需要从多个不同的 MySQL 实例中抽取数据,存入一个中心节点,或直接进入 Hive。借助 Canal 项目,我们能够通过 MySQL Binlog 进行数据抽取。
xorm2
最新发布
ZN175623的博客
11-15
187
nil {fmt . Println("表结构同步失败") } else {fmt . Println("表结构同步成功") }
评论 3
您还未登录,请先
登录
后发表或查看评论
基于Canal 实现数据库表的同步
weixin_51681634的博客
12-30
1537
Canal
目前主要支持了MySQL
步骤
2.1 本例分别在Linux 系统和本地Windows 系统创建数据库,表;其中表名与结构相同,以实现Linux 数据库更新同步到本地数据库
2.2 开启Linux 系统中Mysql binlog功能
执行命令 show variables like ‘log_bin’ 查看log_bin 状态,如为OFF,则需要修改配置文件 my.cnf 来开启binlog;
命令vi /etc/my.cnf,追加内容:
log-bin=mysql-bin .
阿里云数据同步组件Canal及kafka模式的部署安装
m0_59595182的博客
11-02
25
canal实时同步数据
使用canal增量订阅MySQL binlog
后端老鸟
05-28
1216
【转载请注明出处】:https://juejin.im/post/5ecf04ec5188254316147950
基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了mysql。
早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是基于trigger的方式获取增量变更,不过从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务,从此开启了一段新纪元。
ps.
flink实时数仓(三):cannel
张不帅
01-07
1593
文章目录
Cananl安装和配置
Connie1451的博客
10-27
388
安装
canal.properties参数
刘军的博客
09-06
2812
instance 列表定义
列出当前 server上有多少个 instance,每个 instance 的加载方式是 spring/manager 等
参数名字
参数说明
默认值
canal.destinations
当前server上部署的instance列表
canal.conf.dir
conf/目录所在的路径
../conf
c...
mysql到es的实时增量同步工具canal配置步骤
建模分析师胡选来
01-23
3825
#1. 在自己的测试机器上,利用修改过的canal-1.1.2代码创建发布包,修改的源码和系统各组件的版本可通过第二次commit看到,jdk为1.8
git clone git@github.com:huxuanlai/canal-1.1.2-mysql-es.git
mvn clean install -Denv=release
在canal-1.1.2-mysql-es/target目录中找...
es sync之 canal.properties配置
刘军的博客
09-06
1129
#################################################
######### common argument #############
#################################################
#canal.manager.jdbc.url=jdbc:mysql://127.0.0.1:33...
canal系列—配置文件介绍
此博客已停用,博文会逐渐转移到新地址,http://blog.csdn.net/liupeifeng3514
12-13
1万+
canal的配置加载方式介绍配置之前,先了解下canal的配置加载方式: canal配置方式有两种:
ManagerCanalInstanceGenerator: 基于manager管理的配置方式,目前alibaba内部配置使用这种方式。大家可以实现CanalConfigClient,连接各自的管理系统,即可完成接入。
SpringCanalInstanceGenerator:基于本地spring
Canal原理及其使用
热门推荐
fighting
02-08
3万+
1 什么是canal
  canal是用java开发的基于数据库增量日志解析,提供增量数据订阅&消费的中间件。目前,canal主要支持了MySQL的binlog解析,解析完成后才利用canal client 用来处理获得的相关数据。(数据库同步需要阿里的otter中间件,基于canal)
2 canal使用场景
  (1)阿里otter(阿里用于进行异地数据库之间的同步框架)中间件的一部分,这是原始场景
  (2)更新缓存:如果有大量的请求发送到mysql的话,mysql查询速度慢,QPS上不去,
Canal~1:canal原理
cai_and_luo的博客
03-10
205
canal原理1 什么是 canal2 使用场景3 canal 的工作原理4 MySQL 的 binlog(1) 什么是 binlog(2) binlog 的开启(3) binlog 的分类设置
1 什么是 canal
阿里巴巴 B2B 公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,
所以衍生出了同步杭州和美国异地机房的需求,从 2010 年开始,阿里系公司开始逐步的尝
试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务。
canal 是用 java 开发
cannel mysql_mysql、canal、kafka、数据同步系列(四)canal的安装和配置
weixin_39614262的博客
01-19
1278
历经了前面的各种安装,终于到canal的安装和配置了。这里依然采用docker-compose安装.1、编写docker-compose.yml文件version: '3'services:canal-server:image: canal/canal-server:v1.1.3container_name: canal-serverports:- 11111:11111environment:-...
mysql同构表_基于 Binlog + Flink 实现多表数据同构/异构方案
weixin_36125755的博客
01-28
129
基于 Binlog + Flink 实现多表数据同构/异构方案发布时间:2019-03-25 20:31,浏览次数:853, 标签:BinlogFlink什么是数据异构?简单讲,就是将数据进行异地数据异构存储。数据异构服务市场使用 BinLake(京东 MySQL 的 Binlog 日志实时采集、统一分发、消息订阅和监控服务)进行数据异构,即通过订阅 MySQL 的Binlog 日志,通过接收 J...
42.数据采集实现(canal)
song_quan_的博客
07-28
430
2.1 canal 入门
2.1.1 什么是 canal
阿里巴巴 B2B 公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,
所以衍生出了同步杭州和美国异地机房的需求,从 2010 年开始,阿里系公司开始逐步的尝
试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务。
canal 是用 java 开发的基于数据库增量日志解析,提供增量数据订阅&消费的中间件。
目前,canal 主要支持了 MySQL 的 binlog 解析,解析
数据库同步利器 otter 双A同步配置
qq_26083119的博客
03-15
959
阿里 Otter 简单双A同步配置
环境准备:
zookeeper
manager.deployer-4.2.18
node.deployer-4.2.18
环境搭建:
启动zookeeper
启动 manager.deployer-4.2.18
2.启动managerwindows:bin/startup.bat或者linux:bin/startup.sh
浏览器...
数据同步的终极解决方案:阿里巴巴开源的Canal框架
liuyaokai1990的博客
08-06
753
写在前面
在当今互联网行业,尤其是现在分布式、微服务开发环境下,为了提高搜索效率,以及搜索的精准度,会大量使用Redis、Memcached等NoSQL数据库,也会使用大量的Solr、Elasticsearch等全文检索服务。那么,这个时候,就会有一个问题需要我们来思考和解决:那就是数据同步的问题!如何将实时变化的数据库中的数据同步到Redis/Memcached或者Solr/El...
Canal安装说明(Windows版)
weixin_42640512的博客
09-24
1810
Canal安装说明(Windows版)
第一步:开启MySQL的binlog日志
(1)连接MySQL 键入命令:show variables like 'log_%'; 查看binlog是否开启
若log_bin的值为OFF,则需要对配置文件my.ini进行修改,加入如下代码:
log-bin=log-bin
binlog-format=ROW
注意:my.ini的路径的路径为C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
保存修改后,使用命令 net sto
canal实现mysql实时数据binlog同步
阿拉斯加大闸蟹的博客
01-09
2万+
原理相对比较简单:
canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议
mysql master收到dump请求,开始推送binary log给slave(也就是canal)
canal解析binary log对象(原始为byte流)
基本说明
canal 1.1.1版本之后, 默认支持将canal serve...
Canal AdminGuide
agapple
03-19
501
背景
先前开源了一个开源项目: 【阿里巴巴开源项目: 基于mysql数据库binlog的增量订阅&消费】
本文主要是介绍一下如何部署&使用
环境要求
1. 操作系统
a. 纯java开发,windows/linux均可支持
b. jdk建议使用1.6.25以上的版本,稳定可靠,目前阿里巴巴使用基本为此版本.
2. ...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:大白
设计师:CSDN官方博客
返回首页
kenyooon
CSDN认证博客专家
CSDN认证企业博客
码龄7年
暂无认证
原创
178万+
周排名
108万+
总排名
2万+
访问
等级
239
积分
粉丝
获赞
评论
18
收藏
私信
关注
分类专栏
linux
3篇
部署
3篇
docker
1篇
springboot
2篇
session
1篇
tomcat
1篇
CDH
1篇
大数据
spring cloud
2篇
最新评论
阿里云canal订阅mysql的binlog日志实现数据和表结构实时同步
m0_46228150:
必须要设置成 ROW ???这不是又引入一个新的问题吗。多事务高并发下主从不一致问题如何解决呢??
springboot2.x 禁用自带tomcat的session持久化功能
编程怪:
那钝化后会进行活化么
阿里云canal订阅mysql的binlog日志实现数据和表结构实时同步
kenyooon
回复
九天应元雷神普化天尊: 表结构也会同步。日志会打印表DDL语句
阿里云canal订阅mysql的binlog日志实现数据和表结构实时同步
九天应元雷神普化天尊:
这个标题的后一部分表结构实时同步有实现吗,这个只是简单同步数据而已吧
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
SSH免密登录
docker 路径迁移
springboot 打zip包(避免发包时替换整个大jar包,只需替换zip里面程序jar)
2020年7篇
2018年2篇
目录
目录
分类专栏
linux
3篇
部署
3篇
docker
1篇
springboot
2篇
session
1篇
tomcat
1篇
CDH
1篇
大数据
spring cloud
2篇
目录
评论 3
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
打赏作者
kenyooon
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值