Canal 数据同步(最终测试) | 学习笔记

简介: 快速学习 Canal 数据同步(最终测试)

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot)Canal 数据同步(最终测试)】学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/667/detail/11519


Canal 数据同步(最终测试)


目录:

一、启动

二、具体操作

三、总结


一、启动

要想测试,就先启动,使用脚本进程,再看进程。将本地项目启动,

数据同步现主要做的监控,就是监控远程部分变化,有客户端的工具,先用端口号启动。端口号为10000。

用 debug 方式启动。用 debug 之后,就能看到的结果,那重新换种方式,用debug 款就这个它启动,然后启动之后再加上几个断点,通过 debug 来看执行过程,理解流程。


二、具体操作

//当队列里面堆积的 sql 大于一定数值的时候就 模拟执行

if (SQL QUEUE. size() >= 1)

executeQueueSql;

模拟执行队列里面的 sql 语句

public void executeQueueSql()

int size = SQL_QUEUE.size();

for (int i =0; i

String sql =SQL_QUEUE.pol1();

System.out.println("[sql]——>”+ sql);

this.execute(sql.toString());

再其中加了断点,进行测试。

在本地库没有东西,连接数据库,写个语句,在这个远程库里边加一条数据,如果效果正确,在本地库中也会同步添加,这个过程就叫数据同步。

1.insert语句如下:

mysql>insert into members values(1, 'lucy' ,20);

执行后如下:

if (batchId ==-1 size ==0) (batchId:2 size:3

Thread.sleep( millis:1000); I

)else(

dataHandle(message.getEntries());message:Message[id=2,entries=[header

此时 size 大于0,就可以继续操作。

点击绿色按钮,一路执行,到下一个断点,判断做哪个操作,当前做的是添加:

else if (eventType == EventType. INSER) {KeventType: "INSERT"

2.修改操作:

mysql= update members set username=“mary" where id=1;

结果如下:

Query oK, row affected(0.11 sec)

Fows matched: 1 Changed: 1 warnings : 0

3.删除操作如下:

mysql≥ delete frommembers where id-l:

结果如下:

Query ok, l row affected ie.o1l sec)


三、总结

当远程库时,远程库添加删除,本地库也会随之发生变化。过程中需要安装,在本地写出代码。

有以下细节:

第一个细节就是远程库的名字和数据表的名字,跟本地库名字表名字必须要一样,根据名字做匹配,在这里都叫做 guli members。

第二个细节是就是改 kindle 中的配置文件的时候,这个数据库的用户名要特别注意,这些用户名需要有远程连接的权限,默认 root 是没这个权限,默认只能是本地连接,需要做修改,或者说按着过程重新创建,或者说创建用过的用户。

相关文章
|
1月前
|
canal 消息中间件 关系型数据库
Canal作为一款高效、可靠的数据同步工具,凭借其基于MySQL binlog的增量同步机制,在数据同步领域展现了强大的应用价值
【9月更文挑战第1天】Canal作为一款高效、可靠的数据同步工具,凭借其基于MySQL binlog的增量同步机制,在数据同步领域展现了强大的应用价值
207 4
|
2月前
|
canal 关系型数据库 MySQL
"揭秘阿里数据同步黑科技Canal:从原理到实战,手把手教你玩转MySQL数据秒级同步,让你的数据处理能力瞬间飙升,成为技术界的新晋网红!"
【8月更文挑战第18天】Canal是一款由阿里巴巴开源的高性能数据同步系统,它通过解析MySQL的增量日志(Binlog),提供低延迟、可靠的数据订阅和消费功能。Canal模拟MySQL Slave与Master间的交互协议来接收并解析Binary Log,支持数据的增量同步。配置简单直观,包括Server和Instance两层配置。在实战中,Canal可用于数据库镜像、实时备份等多种场景,通过集成Canal Client可实现数据的消费和处理,如更新缓存或写入消息队列。
374 0
|
5月前
|
canal 关系型数据库 MySQL
Canal数据同步工具
Canal数据同步工具
131 2
|
5月前
|
Java 测试技术 编译器
JMM测试利器-JCStress学习笔记
JMM测试利器-JCStress学习笔记
|
11月前
|
消息中间件 NoSQL 关系型数据库
Canal+Kafka实现MySQL与Redis数据同步(二)
Canal+Kafka实现MySQL与Redis数据同步
200 0
|
11月前
|
消息中间件 canal NoSQL
Canal+Kafka实现MySQL与Redis数据同步(一)
Canal+Kafka实现MySQL与Redis数据同步
462 0
|
11月前
|
canal NoSQL 关系型数据库
淘东电商项目(22) -Canal数据同步框架
淘东电商项目(22) -Canal数据同步框架
92 0
|
2月前
|
SQL DataWorks 关系型数据库
DataWorks操作报错合集之如何处理数据同步时(mysql->hive)报:Render instance failed
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
2月前
|
关系型数据库 MySQL 数据库
【MySQL】手把手教你MySQL数据同步
【MySQL】手把手教你MySQL数据同步
|
2月前
|
SQL 关系型数据库 MySQL
“震撼揭秘!Flink CDC如何轻松实现SQL Server到MySQL的实时数据同步?一招在手,数据无忧!”
【8月更文挑战第7天】随着大数据技术的发展,实时数据同步变得至关重要。Apache Flink作为高性能流处理框架,在实时数据处理领域扮演着核心角色。Flink CDC(Change Data Capture)组件的加入,使得数据同步更为高效。本文介绍如何使用Flink CDC实现从SQL Server到MySQL的实时数据同步,并提供示例代码。首先确保SQL Server启用了CDC功能,接着在Flink环境中引入相关连接器。通过定义源表与目标表,并执行简单的`INSERT INTO SELECT`语句,即可完成数据同步。
140 1

热门文章

最新文章

下一篇
无影云桌面