dbsyncer同步mysql数据

news2024/9/20 6:31:07

1 概述

DBSyncer(代码地址:https://github.com/86dbs/dbsyncer)是一款开源的数据同步中间件,提供MySQL、Oracle、SqlServer、PostgreSQL、Elasticsearch(ES)、Kafka、File、SQL等同步场景。支持上传插件自定义同步转换业务,提供监控全量和增量数据统计图、应用性能预警等。


2 部署

2.1 环境

版本信息如下:
a、操作系统:centos 7.6
b、主机IP:192.168.243.128
c、docker版本:20.10.5-3

2.2 安装docker

yum install -y yum-utils device-mapper-persistent-data lvm2
yum install yum-utils -y
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates
yum install docker-ce-cli-20.10.5-3.el7 docker-ce-20.10.5-3.el7 -y

mkdir -p /etc/docker
cat > /etc/docker/daemon.json << EOF
{
      "registry-mirrors": ["https://bxsfpjcb.mirror.aliyuncs.com", "https://registry.docker-cn.com"],
      "max-concurrent-downloads": 10,
      "log-driver": "json-file",
      "log-level": "warn",
      "log-opts": {
          "max-size": "100m",
          "max-file": "3"
      },
       "live-restore": true,
      "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

systemctl daemon-reload
systemctl enable docker.service
systemctl restart docker

2.3 部署dbsyncer

使用docker部署dbsyncer,便于测试。

docker run -it --entrypoint=bash --name=dbsyncer --net=host \
registry.cn-hangzhou.aliyuncs.com/xhtb/dbsyncer:latest

# 此时已进入容器环境,执行以下脚本启动dbsyncer程序
cd /app/cd dbsyncer-2.0.3
./bin/startup.sh

浏览器访问18686端口,在我的机器IP是192.168.243.128,因此在浏览器访问http://192.168.243.128:18686,输入账号密码即可(admin/admin)。
在这里插入图片描述

2.4 部署mysql

2.4.1 运行mysql 8.0实例

部署两个mysql实例,demo2实例是源数据库(192.168.243.128:3307),demo3实例是目标数据库(192.168.243.128:3308)。

docker run -p 3307:3306 --name mysql-demo2 -e MYSQL_ROOT_PASSWORD=password -d mysql:8.0
docker run -p 3308:3306 --name mysql-demo3 -e MYSQL_ROOT_PASSWORD=password -d mysql:8.0

在这里插入图片描述

2.4.2 准备mysql测试数据

在demo2实例中准备以下数据:


CREATE DATABASE demo;

CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  username VARCHAR(255) NOT NULL,
  email VARCHAR(255) NOT NULL
);

INSERT INTO users (username, email) VALUES ('user1', 'user1@example.com');
INSERT INTO users (username, email) VALUES ('user2', 'user2@example.com');
INSERT INTO users (username, email) VALUES ('user3', 'user3@example.com');

在demo3实例中准备以下数据:


CREATE DATABASE demo;

CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  username VARCHAR(255) NOT NULL,
  email VARCHAR(255) NOT NULL
);


2.5 dbsyncer配置mysql数据库源

配置源端数据源,如下图:
在这里插入图片描述

配置目标数据源,如下图:
在这里插入图片描述

配置完成后,界面如图所示

在这里插入图片描述


2.6 dbsyncer配置驱动

所谓驱动就是任务。任务可以分为全量同步任务和增量同步任务。填写表单时,不仅需要选择是全量同步还是增量同步,还需要设置源端的表和目标端的表之间的映射关系。

2.6.1 配置全量同步

在这里插入图片描述

在这里插入图片描述
点击运行后,了三条数据,如下图所示:
在这里插入图片描述


2.6.2 配置增量同步

在这里插入图片描述
在这里插入图片描述


开启任务,在源端数据库新插入一条数据后,该新增记录同步到目标数据库。
在这里插入图片描述


3 小结

本文通过dbsyncer同步两个mysql实例的数据来介绍dbsyncer这个工具。dbsyncer的数据源,是一个JDBC URL(例如:jdbc:mysql://192.168.243.128:3308/demo?),所谓驱动就是数据同步的任务。

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

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

相关文章

人脸质量评价:深入解析和实现

人脸质量评价&#xff1a;深入解析和实现 引言 随着人工智能和计算机视觉技术的飞速发展&#xff0c;人脸识别已成为许多领域的关键技术之一。然而&#xff0c;人脸识别的准确性高度依赖于输入的人脸图像质量。因此&#xff0c;人脸质量评价作为人脸识别前的预处理步骤&#…

如何利用电商 API 数据分析助力精准选品!

电商 API 数据分析在选品过程中起着至关重要的作用&#xff0c;它们之间有着密切的关系&#xff1a; 一、提供市场趋势洞察 热门商品识别&#xff1a; 通过分析电商 API 中的销售数据&#xff0c;包括商品的销售量、销售额、销售频率等指标&#xff0c;可以快速准确地识别出当…

清华计算几何-线段求交与BO算法

单轴线段求交 给定单边轴下, N定线段&#xff0c;检查出相交的线段. 解法一: 暴力求解 遍历所有线段对&#xff0c;进行相交判断, 算法复杂度为O(n2) 解法二: LR扫描 把每条线段的头尾认定为L和R。对所有点进行排序&#xff0c;如果每两个点满足LL或者RR&#xff0c;则对应…

Leetcode JAVA刷刷站(97)交错字符串

一、题目概述 二、思路方向 为了验证字符串 s3 是否由 s1 和 s2 交错组成&#xff0c;我们可以使用动态规划&#xff08;Dynamic Programming, DP&#xff09;的方法来解决这个问题。 首先&#xff0c;我们需要定义状态 dp[i][j]&#xff0c;它表示 s1 的前 i 个字符和 s2 的前…

DocuSign集成方案 | 结合 DocuSign 与 Oracle,加快业务完成速度!

DocuSign for Oracle 集成将 DocuSign 的电子签名功能与 Oracle 的项目生命周期管理 (PLM) 解决方案相结合 DocuSign 和 Oracle 是两家全球领先的技术公司&#xff0c;它们都致力于帮助企业简化和自动化流程。DocuSign 是电子签名领域的领导者&#xff0c;其解决方案可帮助企业…

【操作系统】实验:进度调度(2)

目录 一、实验目的 二、实验要求 三、实验步骤 四、核心代码 五、记录与处理 六、思考 七、完整报告和成果文件提取链接 一、实验目的 1、掌握高优先权调度算法 2、理解时间片、优先权、抢占等基本概念。 二、实验要求 1. 优先权属于静态优先权&#xff1b; 2. 进入 …

DevOps实现CI/CD实战(五)- Jenkins流水线Pipeline-更新中..

九、 Jenkins流水线pipeline Jenkins流水线任务介绍 之前采用Jenkins的自由风格构建的项目&#xff0c;每个步骤流程都要通过不同的方式设置&#xff0c;并且构建过程中整体流程是不可见的&#xff0c;无法确认每个流程花费的间&#xff0c;并且问题不方便定位问题。Jenkins的…

工程数学与数学建模在编程与算法设计中的应用(下)

目录 引言 第三部分&#xff1a;工程数学在算法设计与优化中的应用 3.1 微分方程与动力系统模拟 常微分方程&#xff08;ODE&#xff09;在动态系统中的应用 偏微分方程&#xff08;PDE&#xff09;在图像处理与物理模拟中的应用 总结 3.2 概率论与数理统计在机器学习中的…

若依将登录用户的userId自动加载到查询中

点击搜索&#xff0c;会将登录用户的userId作为搜索条件&#xff0c;去查询。 新版本自动存储了userId&#xff0c;我们不用改&#xff0c;只要知道如何引用。 前端使用 在对应的vue文件&#xff0c;查询queryParams 加查询的值 然后参考他的 添加store import store from &…

i.MX6裸机开发(11)——DDR测试

本章参考资料&#xff1a;《IMX6ULRM》(参考手册)。 学习本章时&#xff0c;配合《IMX6ULRM》Chapter 33: Multi Mode DDR Controller (MMDC) 一起阅读&#xff0c;效果会更佳&#xff0c;特别是涉及到寄存器说明的部分。 特别说明&#xff0c;本书内容是以i.MX6U系列控制器资…

Serdes系统中的CTLE技术

典型的SerDes系统包含输入数据、串行器、发射机&#xff08;TX&#xff09;、信道、接收机&#xff08;RX&#xff09;、解串器和输出数据。串行数据比特流被输入到发送器。发射机由均衡器&#xff08;EQ&#xff09;和包括封装效果的线性模拟后端组成。传输后端和接收器前端之…

JAVA语言开发环境配置详细讲解

​ ​ 您好&#xff0c;我是程序员小羊&#xff01; 前言 Java是一门广泛应用于软件开发领域的编程语言&#xff0c;自1995年由Sun Microsystems首次发布以来&#xff0c;经过多年的发展&#xff0c;已经成为业界的重要编程语言之一。Java以其“编写一次&#xff0c;到处运行”…

【计算机网络】电路交换、报文交换、分组交换

电路交换&#xff08;Circuit Switching&#xff09;&#xff1a;通过物理线路的连接&#xff0c;动态地分配传输线路资源 ​​​​

IDEA/Pycharm/Goland/jetbrains2024.2全家桶汉化失败问题解决

近期,jetbrains全家桶更新到了2024.2版本,不少人反馈到,下载安装之后,按照以前的汉化方式进行汉化的之后,并没有生效。本章教程,提供此问题的解决方案,亲测有效。 JetBrains 是一家总部位于捷克布拉格的软件开发公司,成立于 2000年。该公司以开发高效、智能的开发工具和…

基于SparkGraphX实现标签传播(LPA)算法

基于SparkGraphX实现标签传播&#xff08;LPA&#xff09;算法 标签传播算法&#xff08;LPA&#xff09;与Louvain一样&#xff0c;同样是一种常用的社群发现算法&#xff0c;它的基本思想是让图中的节点根据邻居节点的标签&#xff08;即社区信息&#xff09;来更新自己的标…

第J1周:ResNet-50算法实战与解析(TensorFlow版)

>- **&#x1f368; 本文为[&#x1f517;365天深度学习训练营]中的学习记录博客** >- **&#x1f356; 原作者&#xff1a;[K同学啊]** 本周任务&#xff1a; 1.请根据本文TensorFlow代码&#xff0c;编写出相应的pytorch代码 2.了解残差结构 3.是否可以将残差模块融…

Mybatis的搭建以及使用

一&#xff0c;如何搭建Mybatis 1&#xff0c;创建一张表和表对应的实体类 2.导入 MyBatis jar 包,mysql 数据库驱动包 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.2</version> …

ICML 2024 顶级论文:机器学习有什么新进展?

在本周的文章中&#xff0c;我打算探讨在国际机器学习大会 ICML 上发表的论文&#xff0c;该大会目前于 2024 年 7 月 21 日至 27 日在奥地利首都维也纳举行。与其他顶级人工智能会议一样&#xff0c;每年都会有数千篇论文提交&#xff0c;但录取率相对较低&#xff08;过去三年…

JavaScript高阶 day-02

目录 一.构造函数 1.1 JS构造函数的实例成员和静态成员 1.1.1实例成员 1.1.2静态成员 1.2构造函数原型prototype 1.3对象原型 1.4 constructor构造函数 1.5原型链 1.6构造函数实例和原型对象三角关系 1.7原型链和成员的查找机制 1.7.1 Object.prototype.hasOwnPrope…

正高职称评审中专利与论文的权重比较

正高职称评审中&#xff0c;专利和论文的权重因地区、行业、单位以及具体评审政策的不同而有所差异。 一般来说&#xff0c;专利分不同类型&#xff0c;包括发明专利、实用新型专利和外观设计专利。发明专利申请授权过程中要进行实质审查&#xff0c;含金量最高&#xff0c;在…