当前位置: 首页 > news >正文

dbsyncer同步mysql数据

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 -ymkdir -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"]
}
EOFsystemctl 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?),所谓驱动就是数据同步的任务。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • SpringMVC基于注解的使用
  • stable diffusion和GAN网络的区别,优点缺点是什么
  • 【计算阶乘求和】计算1!+3!+5!+...+n!/(n+1)!
  • ElasticSearch 的单点部署环境搭建
  • 探索 Linux 内核启动过程
  • 二叉树 - 完全二叉树的节点个数
  • springsecurity 在web中如何获取用户信息(后端/前端)
  • 建筑项目管理软件市场新风向,10款热门软件解析
  • Python3.11使用labelimg
  • Android Activity 的启动模式(Launch Mode)
  • echarts倾斜横向堆叠柱状图
  • Spring系列之Spring Cache缓存注解的使用
  • 《第二十八章:性能优化 - 电量优化》
  • Java | Leetcode Java题解之第371题两整数之和
  • 云原生系列 - Nginx(高级篇)
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • angular2开源库收集
  • bootstrap创建登录注册页面
  • Docker容器管理
  • github从入门到放弃(1)
  • Go 语言编译器的 //go: 详解
  • JAVA SE 6 GC调优笔记
  • node入门
  • 从0实现一个tiny react(三)生命周期
  • 简单易用的leetcode开发测试工具(npm)
  • 每天10道Java面试题,跟我走,offer有!
  • 扑朔迷离的属性和特性【彻底弄清】
  • 前端自动化解决方案
  • 详解NodeJs流之一
  • 小李飞刀:SQL题目刷起来!
  • 源码安装memcached和php memcache扩展
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 阿里云移动端播放器高级功能介绍
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • # Redis 入门到精通(一)数据类型(4)
  • #Spring-boot高级
  • (2)空速传感器
  • (2024,RWKV-5/6,RNN,矩阵值注意力状态,数据依赖线性插值,LoRA,多语言分词器)Eagle 和 Finch
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (第一天)包装对象、作用域、创建对象
  • (二)测试工具
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (四)JPA - JQPL 实现增删改查
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (贪心) LeetCode 45. 跳跃游戏 II
  • (一)Linux+Windows下安装ffmpeg
  • (转载)利用webkit抓取动态网页和链接
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .aanva
  • .gitignore不生效的解决方案
  • .Net IOC框架入门之一 Unity
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇