云原生丨DBSwitch数据迁移实践

news2024/12/23 20:55:52

文章目录

  • 一、前言
  • 一、部署
    • 1. 环境准备
    • 2. 安装包部署
  • 二、使用
    • 1.登录
    • 2. 使用步骤-gauss迁移到gauss
    • 3. 使用步骤-MySQL迁移到gauss
  • 三、postgres和 gauss差异说明


一、前言

DBSwitch是一个异构数据库迁移工具,能够提供源端数据库向目的端数据库的批量迁移同步功能,而且支持数据的全量和增量方式同步,在日常项目中应用广泛。

鉴于DBSwitch方便全面的功能优势,本期我们就跟大家分享一些DBSwitch数据迁移的实践内容。


一、部署

1. 环境准备

服务器:Linux或Windows

数据库:MySQL(与安装包中的配置一致)

jre:1.8以上

安装包:dbswitch-release-1.6.16.tar.gz(使用maven打包,定制包待提供)

2. 安装包部署

解压安装包:tar -zxvf dbswitch-release-1.6.16.tar.gz

运行程序-Linux:pwd/dbswitch-release-1.6.16/bin/start.sh

运行程序-windows:pwd/dbswitch-release-1.6.16/bin/start.cmd


二、使用

1.登录

访问地址:http://ip:9088

用户名:admin
密码:123456

2. 使用步骤-gauss迁移到gauss

建立源端数据库的连接 -> 建立目的断数据库的连接 -> 配置任务 -> 发布任务 -> 手动/系统调度执行任务 -> 查看调度记录 -> 数据目录查看数据结果;

  • Step 1:数据库连接-GaussDB

本地测试时,使用的是openGauss 数据库;(docker pull enmotech/opengauss:3.0.0)

GaussDB,选择Postgres数据库类型。

在这里插入图片描述
连接完成后,可以在数据目录查看所连接数据源,shema、table等信息。

在这里插入图片描述

  • Step 2:配置任务-GaussDB迁移到GaussDB

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

  • Step 3:任务调度-手动

发布任务后,点击执行 ⬇

在这里插入图片描述

  • Step 4:调度记录

在这里插入图片描述

3. 使用步骤-MySQL迁移到gauss

建立源端数据库的连接 -> 建立目的断数据库的连接 -> 配置任务 -> 发布任务 -> 手动/系统调度执行任务 -> 查看调度记录 -> 数据目录查看数据结果;

  • Step 1:数据库连接-MySQL

本地测试时,使用的是两个数据库:openGauss 数据库(docker pull enmotech/opengauss:3.0.0)和MySQL数据库(docker pull mysql:8.0.31)

GaussDB选择Postgres数据库类型,MySQL数据库选择Mysql类型。

在这里插入图片描述

  • Step 2:配置任务-MySQL迁移到GaussDB

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

  • Step 3:任务调度-手动

发布任务后,点击执行 ⬇

在这里插入图片描述

  • Step 4:调度记录

在这里插入图片描述


三、postgres和 gauss差异说明

DBSwitch采用的是SQL导入导出的方式执行任务。导入到目标数据源时,先清除目标数据源的同名表数据,然后执行导入的SQL语句。

清除目标数据源的同名表数据时,postgres采用的是TRUNCATE TABLE {schema}.{table} RESTART IDENTITY;

而openGauss不支持此命令,需对DBSwitch做出相应修改。

以上就是本期关于DBSwitch数据库迁移的实践过程,希望可以帮助到你~

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

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

相关文章

Spring的体系结构介绍

Spring框架采用的是分层架构,它一系列的功能要素被分成20个模块,这些模块大体分为Core Container、Data Access/Integration、Web、AOP(Aspect Oriented Programming)、Instrumentation、Messaging和Test。 上图中,包含了Spring框架的所有模…

windows 安装docker使用教程

一、win10上安装docker注册docker账号配置虚拟化启用 bios 虚拟化,是否已启用可以通过任务管理器查看如果没有启动请看,否则可以直接跳到2开启 Hyper-V进行后续操作:irtualization Technology(VT),中文译为虚拟化技术,…

LabVIEW拓扑

LabVIEW拓扑交换机拓扑是交换机模块上通道和继电器的组织表示形式。拓扑通常显示模块上继电器的默认连接,并标记通道名称。某些交换机模块可以使用多个拓扑或拓扑的变体。某些接线端子或附件可能会强制交换机模块使用给定的拓扑或拓扑集。NI-开关 支持 以下 拓扑&am…

009-Ensp-实验-VLAN间互联

实验要求 实现两台不同vlan的设备可以互联 实验结构 实验步骤 1. PC1 /PC2 配置ip /gateway 2. LSW4 新增两个VLAN e0/0/2 - e0/0/3 设置为access类型 加入到不同的vlan e0/0/1 设置为trunk类型 允许所有tag经过 3. LSW3 新增两个VLAN g0/0/1 设置为trunk 允许所有tag经过…

Http Https TCP/IP理解

一、 TCP Http Https UDP IP 介绍TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SM…

[数据结构基础]树和二叉树的概念、结构及性质

目录 一. 树 1.1 树的概念及结构 1.2 树和树的节点的相关概念 1.3 定义树的四种方式 1.3.1 说明了树的度为N 1.3.2 采用顺序表的方式存储子节点 1.3.3 采用结构体数组进行存储 1.3.4 左孩子右兄弟表示法(最优) 二. 二叉树 2.1 二叉树的概念及结…

完爆90%的性能毛病,数据库优化八大通用绝招

毫不夸张的说咱们后端工程师,无论在哪家公司,呆在哪个团队,做哪个系统,遇到的第一个让人头疼的问题绝对是数据库性能问题。如果我们有一套成熟的方法论,能让大家快速、准确的去选择出合适的优化方案,我相信…

9.JS-作用域-预解析

1.作用域 代码名字(变量)在某个范围内起作用和效果,目的是为了提高程序的可靠性,减少命名冲突 2.js作用域的分类(es6之前) 全局作用域和局部作用域 全局作用域:整个script标签或者是一个单独…

【数据结构与算法——C语言版】2. 数组

前言 本篇文章介绍了数组的基础定义及使用,并针对数组的基本增删改查做了一些代码示例,下篇文章将讲解基于数组的更高效的方法,比如二分查找、插入排序等。 数组基础 数组定义 int nums[10] {0};如上,定义一个int类型的数组&…

【Python百日进阶-数据分析】Day146 - plotly小提琴图:px.violin()/go.violin()

文章目录四、实例4.1 Plotly Express 的小提琴图4.1.1 Plotly Express 的基本小提琴图4.1.2 带框和数据点的小提琴图4.1.3 多个小提琴图4.1.4 叠加的小提琴图4.2 graph_objects的小提琴图4.2.1 基本小提琴图4.2.2 多条小提琴迹线4.2.3 分组小提琴图4.2.4 分裂小提琴图4.2.5 高级…

植物大战僵尸:寻找召唤僵尸关键CALL

通过遍历寻找召唤僵尸的CALL,通过调用CALL出现自定义的僵尸,加速僵尸的出现。我们可以通过僵尸出现在屏幕中的个数来遍历寻找僵尸出现的CALL 僵尸CALL的遍历技巧:首先打开CE->进入游戏开始新的游戏-> 直接搜索未知初始化数据等待出现第…

新手程序员入职新公司,该如何快速上手?

小C今天又来找我了,一脸不开心的样子,我心想不是刚被开除,不会这么快又被开除了吧。 小C对我说:下周马上要入职新公司了。 我:好事啊,怎么一脸不开心的。 小C:马上要入职新公司了&#xff0c…

Altium Designer 20 凡亿教育视频学习-04-2

屏蔽电源线或者我们想要屏蔽的线,只显示我们想要的线 PCB上都是线会妨碍我们布线,因此在分模块的布置器件时,我们只单纯的显示我们需要的模块线,其他的线路就不显示了。白线叫预拉线,就是你真实的线要连的两个地方 第…

15nm粒径球形纳米金AuNPs-Thrombin修饰R-藻红蛋白/阿霉素的制备过程

15nm粒径球形纳米金AuNPs-Thrombin修饰R-藻红蛋白/阿霉素的制备过程 今天小编分享纳米金对于R-藻红蛋白的反应,一起看看吧: 纳米金修饰藻红蛋白的制备过程: 取不同pH条件下金前驱体溶液20 mL,先加入质量分数为2%的稳定剂(PVP&am…

高校房产管理系统使用环境?

数图互通高校房产综合管理信息系统是基于公司自主研发的FMCenterV5.0平台,是针对中国高校房产的管理特点和管理要求,研发的一套标准产品;通过在中国100多所高校的成功实施和迭代,形成了一套成熟、完善、全生命周期的房屋资源管理解…

redis 持久化

文章目录一、什么是redis持久化二、两种持久化机制三、RDB(Redis DataBase) 内存快照RDB 原理RDB的触发方式RDB的数据恢复:RDB的优点RDB的缺点四、AOF(Append Only File) 增量日志AOF 原理AOF的触发方式AOF 重写机制AOF的优点AOF的缺点一、什么是redis持久化 redis…

JavaEE【Spring】:SpringBoot 统一功能处理

文章目录前言一、用户登录权限效验1、最初用户登录验证2、Spring AOP 用户统⼀登录验证的问题3、Spring 拦截器① 自定义拦截器② 将自定义拦截器加入到系统配置4、拦截器实现原理① 实现原理源码分析② 拦截器小结5、扩展:统⼀访问前缀添加二、统⼀异常处理1、使用…

系分 - (软件)需求工程

个人总结,仅供参考,欢迎加好友一起讨论 文章目录系分 - (软件)需求工程考点摘要需求工程需求开发(主线,目标)需求分类领域工程PIECES框架需求获取需求记录技术需求分析结构化分析方法 - SASA - 数据字典SA - 数据流图D…

浅谈Web缓存

Web缓存分为两类 http缓存浏览器缓存 1、缓存位置 Service WorkerMemory CacheDisk CachePush Cache 2、浏览器缓存分为三类 cookielocalStroragesessionStorage cookie的最大容量为4kb, localStorage, sessionStorage容量为5M localStorage可永久存储, 除非调用API删除或…

【Linux编译器-gcc/g++使用】

1. 背景知识1. 预处理()2. 编译()3. 汇编()4. 连接()有关具体详解可以参照这篇博客:程序环境与预处理2. gcc如何完成格式 gcc [选项] 要编译的文件 [选项] [目标文件]2.1预处理📙功能&#x1f4…