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

基于DataKit迁移MySQL到openGauss

📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前服务于工业互联网
擅长主流Oracle、MySQL、PG、高斯及Greenplum运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️

文章目录

    • 📣 1.DataKit介绍
    • 📣 2.安装包
    • 📣 3.JDK安装
    • 📣 3.DataKit部署
      • ✨ 3.1 解压安装包
      • ✨ 3.2 创建工作目录
      • ✨ 3.3 修改配置文件
      • ✨ 3.4 创建ssl文件
      • ✨ 3.5 启动datakit
      • ✨3.6 登录datakit平台
    • 📣 4.MySQL迁移
      • ✨ 4.1 前置操作
      • ✨ 4.2 迁移配置
      • ✨ 4.3 迁移任务


DataKit是一个以资源(物理机,数据库)为底座的开发运维工具

📣 1.DataKit介绍

DataKit是一个以资源(物理机,数据库)为底座的开发运维工具,将上层的开发运维工具插件化,各插件之间相互独立,方便用户按需引入。各插件围绕DataKit的资源中心进行扩展开,完成数据库的运维,监控,迁移,开发,建模等复杂的操作。
DataKit是基于spring-brick开发的插件化的工具,前台使用vue,后台使用spring-bot技术栈。DataKit基座提供资源管理,安全中心,日志中心等基础的公共能力,具体的数据库安装,运维,监控,数据迁移等能力是基于spring-brick开发的插件工具,可以灵活的在基座上面安装卸载,方便客户按需使用。

在这里插入图片描述

📣 2.安装包

1.Datakit安装包
https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.1.0/tools/Datakit/Datakit-5.1.0.tar.gz
2.PortalControl安装包
https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.1.0/tools/centos7/PortalControl-5.1.0-x86_64.tar.gz
3.openGauss极简版
https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.1.0/x86/openGauss-5.1.0-CentOS-64bit.tar.bz2
4.jdk11
https://www.oracle.com/java/technologies/downloads/#java11

在这里插入图片描述

📣 3.JDK安装

1.关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld2.当前JDK版本
[root@centos79 ~]# java -version
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)[root@centos79 ~]# rpm -qa | grep jdk
java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64
java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64
copy-jdk-configs-3.3-10.el7_5.noarchyum -y remove copy-jdk-configs.noarch 3.压缩安装包
tar -zxvf jdk-11.0.21_linux-x64_bin.tar.gz -C /usr/local
ln -s /usr/local/jdk-11.0.21/bin/java /usr/bin/java4.环境变量导入
vi /etc/profileexport JAVA_HOME=/usr/local/jdk-11.0.21
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}5.环境变量生效
source /etc/profile6.确认安装是否成功
[root@centos79 ~]# java -version
java version "11.0.21" 2023-10-17 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.21+9-LTS-193)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.21+9-LTS-193, mixed mode)

📣 3.DataKit部署

✨ 3.1 解压安装包

[root@centos79 ~]# mkdir -p /datakit/datakit5.1
[root@centos79 ~]# tar -zxvf /opt/Datakit-5.1.0.tar.gz -C /datakit/datakit5.1

✨ 3.2 创建工作目录

[root@centos79 ~]# cd /datakit/datakit5.1[root@centos79 datakit5.1]# ll
total 92228
-rw-r--r--. 1 root root      939 Sep 28 14:17 application-temp.yml
drwxr-xr-x. 2 root root     4096 Sep 28 14:21 doc
-rw-r--r--. 1 root root 94426176 Sep 28 14:17 openGauss-datakit-5.1.0.jar
drwxr-xr-x. 2 root root     4096 Sep 28 14:21 visualtool-plugin[root@centos79 datakit5.1]# mkdir -p logs config ssl files

✨ 3.3 修改配置文件

[root@centos79 ~]# cd /datakit/datakit5.1
[root@centos79 datakit5.1]# cp ./application-temp.yml ./config修改config目录下默认配置文件application-temp.yml文件中的数据库连接ip、port、database、username、password,
并将配置文件中涉及的默认工作目录/ops均修改为实际工作目录/datakit/datakit5.1,test-while-idle配置为false。vi /datakit/datakit5.1/config/application-temp.ymlsystem:# File storage pathdefaultStoragePath: /datakit/datakit5.1/files# Whitelist control switchwhitelist:enabled: false
server:port: 9494ssl:key-store: /datakit/datakit5.1/ssl/keystore.p12key-store-password: 123456key-store-type: PKCS12enabled: falseservlet:context-path: /
logging:file:path: /datakit/datakit5.1/logs/
spring:datasource:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: org.opengauss.Driverurl: jdbc:opengauss://192.168.6.22:5432/datakit?currentSchema=public&batchMode=offusername: datakit_adminpassword: Sample@123druid:test-while-idle: falsetest-on-borrow: truevalidation-query: "select 1"validation-query-timeout: 10000connection-error-retry-attempts: 0break-after-acquire-failure: truemax-wait: 3000
management:server:

✨ 3.4 创建ssl文件

–root用户下操作
keytool -genkey -noprompt
-dname “CN=opengauss, OU=opengauss, O=opengauss, L=Beijing, S=Beijing, C=CN”
-alias opengauss
-storetype PKCS12
-keyalg RSA
-keysize 2048
-keystore /datakit/datakit5.1/ssl/keystore.p12
-validity 3650
-storepass 123456

✨ 3.5 启动datakit

cd /datakit/datakit5.1
nohup java -Xms2048m -Xmx4096m -jar openGauss-datakit-5.1.0.jar
–spring.profiles.active=temp > ./logs/datakit.out 2>&1 &
##查看日志
tail -200f /datakit/datakit5.1/logs/datakit.out

✨3.6 登录datakit平台

启动成功后,可通过浏览器界面访问datakit平台
登录地址:https://192.168.6.22:9494/,其中192.168.6.22为实际ip
初始用户:admin
初始密码:admin123
首次登录需修改初始密码
admin123@123

在这里插入图片描述

📣 4.MySQL迁移

✨ 4.1 前置操作

–DataKit实例管理中创建数据源
MySQL和openGauss数据库启动后可在datakit平台–资源中心–实例管理中创建对应的数据源

1)创建MySQL数据源
ip为192.168.6.22
port为默认端口3306
用户名mysql_test
密码password123

在这里插入图片描述

2)创建openGauss数据源
ip为实际192.168.6.22
port为默认端口5432
用户名datakit_admin
密码Sample@123

在这里插入图片描述

创建完成后DataKit平台界面会显示对应的数据源

在这里插入图片描述

–DataKit服务器管理中添加服务器
在datakit平台–资源中心–服务器管理中添加对应的服务器,被管理的机器才可用于安装迁移插件,本次实验用本机作为迁移插件的执行机
请注意这里密码为root用户的密码,并需要勾选记住密码,否则将不能用作迁移插件的执行机。

在这里插入图片描述

服务器添加完成后DataKit平台会显示对应的服务器信息

在这里插入图片描述

在用户管理界面添加个人用户test
用户添加完成后会显示在用户列表中显示已添加的用户

在这里插入图片描述

✨ 4.2 迁移配置

MySQL迁移全流程包括全量迁移、全量校验、增量迁移、增量校验和反向迁移五个阶段,下面将详细介绍迁移全流程。
1.创建迁移任务
在Datakit平台数据迁移–迁移任务中心–创建迁移任务,选定源端数据库(source_db)和目的端数据库(target_db),添加子任务,迁移过程模式选择在线模式。
迁移模式包括离线和在线两种模式,其中离线模式包括全量迁移和全量校验两个阶段,在线模式包括全量迁移、全量校验、增量迁移、增量校验、反向迁移和五个阶段,本次实践选择在线模式,囊括业务割接的整个过程。
详细描述如下:
(1)在Datakit平台数据迁移–迁移任务中心–创建迁移任务
(2)选定源端数据库(source_db)和目的端数据库(target_db),添加子任务,迁移过程模式选择在线模式。

在这里插入图片描述

(3)编辑配置参数
可直接使用默认参数,无需修改,或者根据实际自定义

在这里插入图片描述

2.安装迁移插件
首次创建迁移任务时,需安装迁移插件,针对服务器管理中添加的服务器,选择开始安装即可。
若无对应的物理机,请记得将要安装插件的机器添加至服务器管理中,并添加。

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

✨ 4.3 迁移任务

对于在线模式的迁移任务,任务启动后,会首先进入全量迁移阶段,将MySQL端预置的数据迁移至目标库,全量迁移结束后会进入全量校验阶段,会输出每个表的校验结果;之后进入增量迁移阶段,增量迁移阶段会同步执行增量校验。详情界面可以看到迁移过程状态信息。
详细描述如下:
(1)启动迁移任务
详情界面可以看到详细的迁移过程状态信息

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

(2)首先进行全量迁移
全量迁移会将表、数据、视图、函数、触发器、存储过程迁移至openGauss数据库,全量迁移结束后,可在openGauss端验证数据及对象是否成功迁移。
图示为全量迁移完成:

在这里插入图片描述

3)全量迁移完成后进行全量校验,全量校验输出每个表的校验结果

在这里插入图片描述

(3)全量校验完成后进行增量迁移
增量迁移会将增量的数据(增删改)和DDL迁移至openGauss数据库,与增量迁移并行执行的还有增量校验。

在这里插入图片描述

相关文章:

基于DataKit迁移MySQL到openGauss

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…...

API网关-Apinto压缩包方式自动化安装配置教程

文章目录 前言一、Apinto安装教程1. 复制脚本2. 增加执行权限3. 执行脚本4. Apinto命令4.1 启动Apinto4.2 停止Apinto4.3 重启Apinto4.4 查看Apinto版本信息4.5 加入Apinto集群4.6 离开Apinto集群4.7 查看Apinto节点信息 5. 卸载Apinto 二、Apserver(Apinto Dashboard V3)安装教…...

内网穿透natapp使用教程(Linux)

我的使用场景:在家访问学校服务器,由于不在一个局域网,所以需要使用内网穿透,我使用的是natapp。需要在有局域网的时候做好以下步骤。 (natapp官网:https://natapp.cn/) 1. 下载客户端 &#x…...

php函数 二

一 字符串包含 1.1 str_starts_with(string $haystack, string $needle) php8版本中新函数。 检查字符串是否以指定子串开头,区分大小写。返回布尔值。 $haystack待判断的字符串,$needle需要查询的内容。 function test1() {$str "Qwe asd zx…...

IDC机房交换机核心技术与应用指南

IDC机房交换机核心技术与应用指南 ​ 在这个快速发展的数字时代,数据中心作为信息技术的心脏,不仅承载着海量数据的处理、存储和传输,更是支撑着全球企业运营和互联网服务的关键基础设施。在众多构成数据中心的组件中,IDC机房交换…...

Compose | UI组件(五) | Button 按钮组件

文章目录 前言Button 是什么?Button的创建Button显示水平方向的UI IconButton是什么?IconButton是创建 FloatingActionButton是什么?FloatingActionButton创建 ExtendedFloatingActionButton是什么? 总结 前言 随着移动端的技术不…...

【leetcode刷刷】235. 二叉搜索树的最近公共祖先 、701.二叉搜索树中的插入操作 、450.删除二叉搜索树中的节点

235. 二叉搜索树的最近公共祖先 class Solution:def lowestCommonAncestor(self, root: TreeNode, p: TreeNode, q: TreeNode) -> TreeNode:# 递归if not root: return if root.val p.val: return pif root.val q.val: return qleft Noneright Noneif root.val > p.…...

YoloV8改进策略:BackBone改进|DCNv4最新实践|高效涨点|多种改进教程|完整论文翻译

摘要 涨点效果:在我自己的数据集上,mAP50 由0.986涨到了0.993,mAP50-95由0.737涨到0.77,涨点明显! DCNv4是可变形卷积的第四版,速度和v3相比有了大幅度的提升,但是环境搭建有一定的难度,对新手不太友好。如果在使用过程遇到编译的问题,请严格按照我写的环境配置。 …...

高中数学常识

一、大小关系 |x| > |sinx| 理由: 很明显,在圆内,弧长x>垂线sinx 3x、2x 、 1 2 \frac{1}{2} 21​x 理由: log 1 2 _\frac{1}{2} 21​​x、log 2 _2 2​x、 log 3 _3 3​x 二、(xy)? 的求法 利用二项式定理 三、平…...

docker之部署青龙面板

青龙面板是一个用于管理和监控 Linux 服务器的工具,具有定时运行脚本任务的功能。在实际情况下也可以用于一些定期自动签到等任务脚本的运行。 本次记录下简单的安装与使用,请提前安装好docker,参考之前的文章。 一、安装部署 1、拉取镜像 # …...

Type-C平板接口协议芯片介绍,实现单C口充放电功能

在现代平板电脑中,Type-C接口已经成为了一个非常常见的接口类型。相比于传统的USB接口,Type-C接口具有更小的体积、更快的传输速度和更方便的插拔体验。但是,在使用Type-C接口的平板电脑上,如何实现单C口充电、放电和USB2.0数据传…...

系统架构演变

1.1系统架构的演变 2008年以后,国内互联网行业飞速发展,我们对软件系统的需求已经不再是过去”能用就行”这种很low的档次了,像抢红包、双十一这样的活动不断逼迫我们去突破软件系统的性能上限,传统的IT企业”能用就行”的开发思…...

Oracle PL/SQL Programming 第2章:Creating and Running PL/SQL Code 读书笔记

总的目录和进度,请参见开始读 Oracle PL/SQL Programming 第6版 暂不考虑系统设计或单元测试之类的任务,所有 PL/SQL 程序员必须熟悉的基本操作任务包括: 浏览数据库创建和编辑 PL/SQL 源代码编译 PL/SQL 源代码,并更正编译器注…...

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Swiper容器组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Swiper容器组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Swiper容器组件 滑块视图容器,提供子组件滑动轮播显示的能力。…...

『建议收藏』OpenAI官方出的Prompt提示词教程中文版来了!

一些结论 六大策略: 写清晰的指令 提供参考文本 将复杂任务分解为更简单的子任务 给模型时间“思考” 使用外部工具 系统性测试变化 提高结果质量的六大策略 写清晰的指令 这些模型无法读懂你的想法。如果输出过长,要求简短回复;如果输出过于简单…...

牛刀小试 - C++ 推箱子小游戏

参考文档 C笔记:推箱子小游戏 copy函数 memcpy()函数用法(可复制数组) 使用memcpy踩出来的坑,值得注意 完整代码 /********************************************************************* 程序名:推箱子小游戏 说明&#x…...

手机视频压缩怎么压缩?一键瘦身~

现在手机已经成为我们日常生活中必不可少的工具,而在手机的应用领域中,文件的传输和存储是一个非常重要的问题。很多用户都会遇到这样一个问题,那就是在手机上存储的文件太多太大,导致手机存储空间不足,那么怎么在手机…...

目标主力能源:华为智能光伏的时代指南针

让新能源成为人类主要的能源来源,是实现“双碳目标”的核心方案。而光伏能源则是目前新能源体系中的主要选择之一。以光伏为核心构建新型电力系统,让光伏能源成为主力能源值得关注和期待。 过去几年,光伏能源极速发展。但如何百尺竿头更进一步…...

每日一题 力扣2846 边权重均等查询

2846. 边权重均等查询 题目描述: 现有一棵由 n 个节点组成的无向树,节点按从 0 到 n - 1 编号。给你一个整数 n 和一个长度为 n - 1 的二维整数数组 edges ,其中 edges[i] [ui, vi, wi] 表示树中存在一条位于节点 ui 和节点 vi 之间、权重…...

【Docker】Docker学习⑨ - 单机编排之Docker Compose

【Docker】Docker学习⑨ - 单机编排之Docker Compose 一、Docker简介二、Docker安装及基础命令介绍三、Docker镜像管理四、Docker镜像与制作五、Docker数据管理六、网络部分七、Docker仓库之单机Dokcer Registry八、Docker仓库之分布式Harbor九、单机编排之Docker Compose1 基础…...

别再手动检查打印机了!用C#写个Windows服务,自动监控HP/Epson等打印机状态并微信通知

打造智能打印机监控系统:基于C#的Windows服务实战指南 打印机故障总是悄无声息地发生——当你急需打印合同时发现缺纸,演示前五分钟发现墨盒耗尽,或是批量打印时某个设备早已脱机。这些场景对IT运维人员来说再熟悉不过,而传统的人…...

2000-2024年上市公司产学研合作数据

产学研合作(University-Industry Collaboration, UIC)是衡量企业与高校及科研机构协同创新程度的核心指标。本数据集基于中国上市公司年度报告中披露的客户及合作方清单构建,由团队依据公开披露信息测算,时间覆盖20002024年。核心…...

基于RAG的代码知识库构建:从原理到本地部署实战

1. 项目概述:当代码库成为知识库,我们如何精准“提问”?最近在跟几个做AI应用开发的朋友聊天,大家普遍有个痛点:项目代码越堆越多,文档要么不全要么过时,新来的同事想了解某个模块的逻辑&#x…...

ARM Cortex-A55与A73核心差异解析及RK3568嵌入式开发实战

1. 从核心到板卡:理解Cortex-A55与Cortex-A73的定位分野在嵌入式开发和智能硬件选型时,我们常常会接触到ARM Cortex-A系列的各种内核型号,比如Cortex-A55和Cortex-A73。乍一看,它们都是基于ARMv8-A架构的64位处理器核心&#xff0…...

【SPIE出版】黄冈师范学院主办!第四届大数据、计算智能与应用国际会议(BDCIA 2026)

第四届大数据、计算智能与应用国际会议(BDCIA 2026)将于2026年11月6-8日在中国黄冈召开。本次大会由黄冈师范学院主办,旨在汇聚全球学术界与产业界的专家学者、研究人员及工程技术人员,共同探讨大数据、计算智能及相关应用领域的前…...

OpenClaw从入门到应用——工具(Tools):LLM Task

通过OpenClaw实现副业收入:《OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南》 llm-task 是一个可选插件工具,用于运行纯 JSON 格式的 LLM 任务,并返回结构化输出(可选择是否依据 JSON Schema 进行验证&#x…...

从Windows CFG到Linux Kernel CFI:手把手教你理解现代操作系统的控制流防护

从Windows CFG到Linux Kernel CFI:现代操作系统控制流防护实战指南 在系统安全领域,控制流劫持攻击始终是最具破坏力的威胁之一。想象一下,攻击者能够像操纵木偶一样控制程序的执行流程,绕过所有安全检查直接获取系统权限——这正…...

【YOLO目标检测全栈实战】24 旋转目标检测:让YOLO学会“歪着头”看世界

去年秋天,我帮一家智慧停车公司优化他们的无人机巡检系统。客户反馈说:“你们模型在正拍场景下检测车辆AP有92%,但无人机一斜着飞,AP直接掉到67%。” 我打开他们标注的数据一看——所有车辆都用水平框框着,但航拍图里车都是歪的,水平框里塞进了大量背景,模型根本分不清…...

避开性能坑!在ARM Cortex-M项目里用还是不用Semihosting的实战指南

ARM Cortex-M开发中的Semihosting实战指南:性能陷阱与替代方案 在嵌入式开发的世界里,调试工具的选择往往决定了项目的成败。Semihosting作为一种便捷的调试机制,让开发者能够在目标设备上直接调用主机端的输入输出功能,看似是开发…...

配置Hermes Agent使用自定义供应商接入Taotoken的详细步骤

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 配置Hermes Agent使用自定义供应商接入Taotoken的详细步骤 对于使用Hermes Agent框架的开发者而言,有时需要接入特定的…...