使用数据库同步中间件DBSyncer实现不同数据库的数据同步

news2024/12/24 0:58:28

点击上方蓝字关注我

aa1180354751d4af29f43e0ab8db71fa.png

e5b1c0638b46b796257157965c74949c.png

    有去O(ORACLE数据库)、信创、国产化数据库等项目实践的同学应该都遇到过不同数据库之前进行数据迁移的问题,虽然有各种工具可以实现,但是有些工具的部署、使用比较复杂,也有些工具迁移数据效率很低。本文将介绍一款开源且部署、使用简单、迁移相对高效的数据库中间件DBSyncer来进行数据迁移。该工具支持Oracle、MySQL、PostgreSQL、 SQL SERVER、ES、Kafka等数据库之间的迁移。

7f13315bb188c699126f6b6acead6110.png

1. 部署

推荐机器配置:内存8GB,4core,磁盘60GB(建议上好点的SSD)

本次在Linux服务器上进行部署

1.1部署JDK

根据官方文档指引,需要安装JDK8,具体可以自行在官方下载安装

99dcc2043980886f7bbe84ebce214449.png

我使用的8.0.191也可以

4ceb7e5a01628dbf86f997a593043835.png

1.2 下载安装包并进行部署启动

DBSyncer分社区版记专业版,如果想试用专业版功能可以自行测试,本文将使用社区版进行测试。

下载:

社区版下载地址:https://gitee.com/ghi/dbsyncer/releases

为了体验新特性及优化后的功能,可以下载最新版本,当前最新版本为2.0.4,选择并进行下载

920fe8cc2eb45b20887d1dda3f039533.png

wget https://gitee.com/ghi/dbsyncer/releases/download/v2.0.4/dbsyncer-2.0.4-bin.zip

13fc00ff6a7c03add52e01c9ae665767.png

解压、启动:

unzip dbsyncer-2.0.4-bin.zip

bin目录下有启停脚本、执行运行即可

8442fd2454f7cfe1957216d7c6413ead.png

# 启动sh startup.sh

看到“Start successfully!”即启动成功

70ff36eca16c80e360086f03f2efa5e4.png

启动后的管理页面可以通过 http:// ip:18686进行登录查看,默认管理账号密码为 admin/admin

7f3e33f18eaf887a8b2aa9c28dc1b353.png

2. 数据迁移

2.1 准备工作

本次测试的是从Oracle迁移数据至MySQL,因此先在Oracle数据库中创建一张表及测试数据,在MySQL数据库中也创建一张表

Oracle库:

CREATE  TABLE  test1(id int ,c1 varchar(20))INSERT INTO  test1 values(1,'a');INSERT INTO  test1 values(2,'b');commit;

MySQL库:

CREATE TABLE  test1(id INT PRIMARY KEY ,c1 VARCHAR(20));

2.2 配置数据源

8f1317daaa462ddf05afd11bc525249d.png

配置一个名为oracle1的数据源,对应填写连接信息、账号密码等,完成后保存即可

5f8edff8217499c80aaca383b2bb2f9a.png

如果保存时不报错,则说明连接添加成功,如果保存过程中有错误,则按照错误信息进行解决。

再配置一个MySQL数据源作为目标库,MySQL的连接URL里要注意库名的配置

b919dc6638016b8878dfc9d7c5eab22e.png

保存后即可在界面上看到对应的数据源

78dffa3a5dfb530ec69661fa4b506bac.png

2.3  配置迁移任务

这个版本点击“添加驱动”进行数据迁移任务的配置(建议修改名称,以免有误解)

f78a55e4e2df81fb10da90dfd5a9e4cc.png

先选择源目数据源,并配置一个任务名称

12b186054c36f448ad0bbd149a82c89e.png

保存后进行相关表影射等配置,例如选择表名及目标表,对应的主键名等

226f041101ccfe7f5be2b4c01efbf6fb.png

在高级配置中还可以进行其他的转换配置等

47e39044bf5d04ae0af8168fa593868b.png

任务配置完成后,可以在页面上看到同步列表

50d691fe7efa2c3ddbe20efe30469f5f.png

2.4  启动任务

点击右上角的启动按钮即可启动本任务

7b3c78468b9dcadd35c9e27af0de8e19.png

启动后会显示”运行中“”的状态

f64c549fc6d083b39b35c0053eab8045.png

完成后会显示进度、耗时及成功数量

8aa9e88afe3be893d923e903f2b15145.png

去目标库中查看结果,可以发现数据已同步进MySQL,至此本次数据迁移完成。

965d1c53e15ad4f25f14a9939a275093.png

3. 小结

  根据DBSyncer官方介绍,社区版的效率确实相对于专业版迁移效率差别很大,大家可以下载测试一下。另外,也可以配置大字段、大表,不同数据库的兼容配置、增量同步等进行更个方面的测试。

c3df9ceacee5ed4cee0ef5bda144834c.png

除了DBSyncer,其他的数据迁移工具也可以多尝试及对比

33d7395be7c4a4064d4beb044b33b760.png

往期精彩回顾

1.  MySQL高可用之MHA集群部署

2.  mysql8.0新增用户及加密规则修改的那些事

3.  比hive快10倍的大数据查询利器-- presto

4.  监控利器出鞘:Prometheus+Grafana监控MySQL、Redis数据库

5.  PostgreSQL主从复制--物理复制

6.  MySQL传统点位复制在线转为GTID模式复制

7.  MySQL敏感数据加密及解密

8.  MySQL数据备份及还原(一)

9.  MySQL数据备份及还原(二)

4179ed6533c86d4fd86581540cb56b3e.png

扫码关注    

311e8f96ced3e1c54b1d7873c8984d85.jpeg

9c404b890dda56afbe911933392e1fe4.png

33bfd1d1fe1cd0db2d975daa4f90947b.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2257687.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SQL汇总数据:聚集函数

我们经常需要汇总数据而无需实际检索出这些数据,为此SQL提供了专门的函数。使用这些函数,SQL查询能够高效地检索数据,以便进行分析和报表生成。这类检索的例子包括: 确定表中行数(或者满足某个条件或包含某个特定值的…

HTML颜色-HTML脚本

HTML脚本 js使得HTML页面具有更强的动态和交互性 HTML<script>标签 标签用于定义客户端脚本&#xff0c;比如javascript 可包含脚本语句&#xff0c;也可以通过src属性指向外部的脚本文件 JavaScript最常用于图片操作&#xff0c;表单验证以及动态的内容更新 HTML<n…

ASP.NET Core8.0学习笔记(二十五)——EF Core Include导航数据加载之预加载与过滤

一、导航属性数据加载 1.在EF Core中可以使用导航属性来加载相关实体。 2.加载实体的三种方式&#xff1a; (1)预先加载&#xff1a;直接在查询主体时就把对应的依赖实体查出来&#xff08;作为初始查询的一部分&#xff09; (2)显式加载&#xff1a;使用代码指示稍后显式的从…

【工具变量】上市公司企业过度负债数据(2000-2022年)

一、计算方式&#xff1a;参考C刊《投资研究》汪昌云&#xff08;2022&#xff09;老师的研究&#xff0c;将实际负债率与 Tobit 回归得到的目标负债率之差认定为过度负债率&#xff0c;该种方式认为目标负债率的驱动因素包括公司特征与行业因素&#xff0c;较为全面&#xff0…

分布式数据库中间件-Sharding-JDBC

文章目录 Sharding-JDBCSharding-JDBC介绍Sharding-JDBC的作用什么是分库分表分库分表的方式分库分表带来的问题事务一致性问题跨节点关联查询跨节点分页、排序函数主键重复 Sharding-JDBC 入门&#xff08;水平分表&#xff09;需求说明环境搭建编写代码流程分析其他配置方式概…

FPGA 16 ,Verilog中的位宽:深入理解与应用

目录 前言 一. 位宽的基本概念 二. 位宽的定义方法 1. 使用向量变量定义位宽 ① 向量类型及位宽指定 ② 位宽范围及位索引含义 ③ 存储数据与字节数据 2. 使用常量参数定义位宽 3. 使用宏定义位宽 4. 使用[:][-:]操作符定义位宽 1. 详细解释 : 操作符 -: 操作符 …

HTML:表格重点

用表格就用table caption为该表上部信息&#xff0c;用来说明表的作用 thead为表头主要信息&#xff0c;效果加粗 tbody为表格中的主体内容 tr是 table row 表格的行 td是table data th是table heading表格标题 &#xff0c;一般表格第一行的数据都是table heading

hbuilder 本地插件配置

插件存放路径&#xff0c;项目根目录nativeplugins下&#xff0c;没有就新建。 aar文件存放路径\nativeplugins\pda-module\android package.json存放路径\nativeplugins\module\ 配置package.json文件 { "name": "本地插件", "id": &quo…

大模型应用的数字能源数据集

除了尚须时日的量子计算解决算力效率和能源问题&#xff0c;以及正在路上的超越transformer的全新模型架构外&#xff0c;无疑是“数据集”&#xff0c;准确讲是“高质量大规模多样性的数据集”。数据集是大模型发展的核心要素之一&#xff0c;是大计算的标的物&#xff0c;是实…

飞书解除复制,下载文件限制终极方案

1.通过移除copy 事件&#xff0c;可以复制文档内容&#xff0c;但是飞书表格增加了键盘按键事件&#xff0c;表格无法复制&#xff0c;下载 2.通过chrome插件&#xff0c;可以复制clould document converter 可以实现下载飞书文档&#xff0c;但是无法下载表格 而且无法识别自定…

Java面试题精选:设计模式(二)

1、装饰器模式与代理模式的区别 1&#xff09;代理模式(Proxy Design Pattern ) 原始定义是&#xff1a;让你能够提供对象的替代品或其占位符。代理控制着对于原对象的访问&#xff0c;并允许将请求提交给对象前后进行一些处理。 代理模式的适用场景 功能增强 当需要对一个对…

自然语言处理:从入门到精通全指引

一、引言 自然语言处理&#xff08;NLP&#xff09;作为人工智能领域的关键分支&#xff0c;旨在让计算机理解、生成和处理人类语言&#xff0c;近年来取得了令人瞩目的成就&#xff0c;在智能客服、机器翻译、文本分析、语音助手等众多领域发挥着重要作用。从入门到精通自然语…

Typora 修改默认的高亮颜色

shift F12 参考 怎么给typora添加颜色&#xff1f;

(1)Quartus中如何在外设FLASH中固化jic文件

&#xff08;1&#xff09;在产生jic文件前&#xff0c;必须已经综合通过&#xff0c;生成了sof文件 &#xff08;2&#xff09;点击file-convert Programming Files... &#xff08;3&#xff09;文件类型选择jic文件&#xff0c;flsh型号设定为EPCS128 &#xff08;4&#…

OpenAI2024-12D-3:Sora 发布,谁更胜一筹——Sora 与可灵的全面前瞻对比

藏了一年&#xff0c;终于OpenAI在12天活动的第三天&#xff0c;正式发布了其全新创意工具——Sora&#xff0c;这款工具凭借其强大的文本到视频生成能力和高度的创作自由度&#xff0c;迅速吸引了广大创作者的目光。与此同时&#xff0c;已经在视频创作领域有着成熟表现的可灵…

重生之我在异世界学智力题(4)

大家好&#xff0c;这里是小编的博客频道 小编的博客&#xff1a;就爱学编程 很高兴在CSDN这个大家庭与大家相识&#xff0c;希望能在这里与大家共同进步&#xff0c;共同收获更好的自己&#xff01;&#xff01;&#xff01; 本文目录 引言渡河问题&#xff08;1&#xff09;问…

福州大学《2024年812自动控制原理真题》 (完整版)

本文内容&#xff0c;全部选自自动化考研联盟的&#xff1a;《福州大学812自控考研资料》的真题篇。后续会持续更新更多学校&#xff0c;更多年份的真题&#xff0c;记得关注哦~ 目录 2024年真题 Part1&#xff1a;2024年完整版真题 2024年真题

实现盘盈单自动化处理:吉客云与金蝶云星空数据对接

盘盈单103v2对接其他入库&#xff1a;吉客云数据集成到金蝶云星空 在企业信息化管理中&#xff0c;数据的高效流转和准确性至关重要。本文将分享一个实际案例&#xff0c;展示如何通过轻易云数据集成平台&#xff0c;将吉客云的数据无缝对接到金蝶云星空&#xff0c;实现盘盈单…

Meta Llama 3.3 70B:性能卓越且成本效益的新选择

Meta Llama 3.3 70B&#xff1a;性能卓越且成本效益的新选择 引言 在人工智能领域&#xff0c;大型语言模型一直是研究和应用的热点。Meta公司最近发布了其最新的Llama系列模型——Llama 3.3 70B&#xff0c;这是一个具有70亿参数的生成式AI模型&#xff0c;它在性能上与4050…

【优选算法 前缀和】前缀和算法模板详解:一维前缀 & 与二维前缀和

一维前缀和 题目解析 算法原理 解法一&#xff1a;暴力解法 简单模拟&#xff0c;读完题意有 q 次询问&#xff0c;给哪两个数&#xff0c;就求哪段区间的和并且返回&#xff0c;这样的做法&#xff0c;时间复杂度为O(N*q)&#xff0c;这个时间复杂度会超时&#xf…