基于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数据库,与增量迁移并行执行的还有增量校验。

在这里插入图片描述

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

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

相关文章

网络防御保护——防火墙子接口配置

一.实验拓扑图 二.实验要求 1.生产区在工作时间内可以访问服务区,仅可以访问http服务器。 2.办公区全天可以访问服务区,其中,10.0.2.20可以访问FTP服务器和HTTP服务器,10.0.2.10仅可以ping通10.0.3.10。 3.办公区在访问服务区时采…

【软件测试】学习笔记-Nginx 在系统架构中的作用

本篇文章你探讨 Nginx 在应用架构中的作用,并从性能测试角度看如何利用 Nginx 数据统计用户访问量。 Nginx 重要的两个概念 代理 首先要来解释一下什么是代理,正向代理和反向代理是什么意思?各自作用是什么?不少同学经常听到这…

WPF中的工具栏ToolBar控件

ToolBar(工具栏)是WPF中的一个控件,用于在界面上创建一个水平或垂直的工具栏,以便放置和组织多个按钮或其他控件。ToolBar通常用于提供快速访问常用功能的方式,类似于传统桌面应用程序的工具栏。 下面是ToolBar控件的…

C语言——操作符详解2

目录 0.过渡0.1 不创建临时变量,交换两数0.2 求整数转成二进制后1的总数 1.单目表达式2. 逗号表达式3. 下标访问[ ]、函数调用( )3.1 下标访问[ ]3.2 函数调用( ) 4. 结构体成员访问操作符4.1 结构体4.1.1 结构体的申明4.1.2 结构体变量的定义和初始化 4.2 结构体成…

【Java 设计模式】行为型之解释器模式

文章目录 1. 定义2. 应用场景3. 代码实现结语 解释器模式(Interpreter Pattern)是一种行为型设计模式,用于定义语言的文法规则,并提供解释器来解释符合规则的语句。解释器模式通过定义语言的文法表示,使得可以解释执行…

【Web】小白也能做的RWCTF体验赛baby题部分wp

遇到不会的题,怎么办!有的师傅告诉你完了,废了,寄了!只有Z3告诉你,稳辣!稳辣!都稳辣! 这种CVE复现的题型,不可能要求选手从0到1进行0day挖掘,其实…

Go语言安装及开发环境配置

目录 官网 国内 Linux(CentOS & Ubuntu)安装 环境变量设置 命令行下开发 开发模式执行 编译 IDE下开发 插件安装 安装依赖工具 运行 常见问题 1、dial tcp 172.217.160.113:443: i/o timeout 2、VS Code不能完美显示zsh问题 官网 访问Golang官网的下载链接&a…

【JS基础】事件对象event、环境对象this、事件的高级操作

文章目录 一、事件对象1.1 事件对象是什么?1.2 使用方法 二、环境对象this以及回调函数2.1 它是什么?2.2 演示示例 三、事件的高级操作3.1 事件流3.2 事件捕获3.3 事件冒泡以及阻止冒泡3.4 事件解绑3.5 mouseover和mouseenter事件的区别3.6 事件委托它是…

C#学习笔记_结构体

结构体(struct)是一种值类型,通常用于封装一些小型变量数据。在C#面向对象编程学习时,可以将结构体暂时理解成一种简单的对象。 结构体语法 一、声明结构体 声明结构体语法如下: public struct 结构体 {public 数据类型 变量名;public 数…

树莓派基础应用:智能家居监控系统

引言: 随着智能家居的普及,家居安全与监控逐渐成为人们关注的焦点。树莓派作为一种功能强大的迷你计算机,为我们提供了实现智能家居监控系统的可能。在本篇博客中,我们将通过构建一个简单的智能家居监控系统,来探索树莓…

Vue<圆形旋转菜单栏效果>

效果图: 大家不一定非要制成菜单栏,可以看下人家的华丽效果😝,参考地址 https://travelshift.com/ 大佬写的效果可比我的强多了,但是无从下手,所以就自己琢磨怎么写了,只能说效果勉强差不多 可…

thinkadmin列表页工单状态多色显示,操作按钮条件判断

{field: gdtz, title: 工单状态, align: left, minWidth: 140,templet: function (d){if (d.gdtz==1){return "<span class=layui-badge layui-bg-cyan>" + 报装已提交 + "</span>" ;}else if (d.gdtz==2){return "

【开发用苹果电脑选择】MacBook下半部——无头骑士

开发用苹果电脑&#xff0c;16G是最低要求&#xff0c;IDEA开两个窗口内存基本满了&#xff0c;32G的苹果电脑都要2万 下面是我收集的2万苹果电脑的替代品 关键词&#xff1a;MacBook下半部下半套无头骑士 32G内存2T硬盘4300元&#xff0c;优点&#xff1a;白苹果、价格便宜

FPGA HDMI IP之DDC(本质I2C协议)通道学习

目的&#xff1a; 使用KingstVIS逻辑分析仪软件分析HDMI的DDC通道传输的SCDC数据&#xff08;遵循I2C协议&#xff09;&#xff0c;同时学习了解SCDC的寄存器与I2C通信协议。 部分英文缩写&#xff1a; HDMIHigh Definition Multi-media Interface高清多媒体接口DDCDisplay Dat…

一文讲述SASS简介和使用方法

一、什么是Sass Sass (Syntactically Awesome StyleSheets)是css的一个扩展开发工具&#xff0c;它允许你使用变量、条件语句等&#xff0c;使开发更简单可维护。这里是官方文档。 二、基本语法 1&#xff09;变量 sass的变量名必须是一个$符号开头&#xff0c;后面紧跟变量名…

优雅的管理你的docker容器【Docker Swarm篇】

如果docker容器较多时&#xff0c;可以使用docker-compose管理自己的容器组&#xff0c;但是随着容器增多&#xff0c;docker-compose也会变的复杂起来&#xff0c;如果使用k8s&#xff0c;又会比较重&#xff0c;因为k8s集群的最小运行内存为2GB&#xff0c;所以在这中间&…

【Spring Boot 3】【@Scheduled】动态新增定时任务

【Spring Boot 3】【@Scheduled】动态新增定时任务 背景介绍开发环境开发步骤及源码工程目录结构总结背景 软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个人学习和工作经历中,每次学习新技…

深度学习 | 基于 CPU 的 tensorflow + keras + python 版本对照及环境安装

Hi&#xff0c;大家好&#xff0c;我是源于花海。要让一个基于 CPU 的 tensorflow 和 keras 开发的深度学习模型正确运行起来&#xff0c;配置环境是个重要的问题&#xff0c;本文介绍了 tensorflow 和 keras 和对应的 python 版本以及安装环境的部分流程。 目录 一、tensorfl…

Redis核心技术与实战【学习笔记】 - 3.Redis服务高可靠

1.数据同步&#xff1a;主从库如何实现数据一致&#xff1f; 前面我们学习了 AOF 和 RDB&#xff0c;如果 Redis 发生了宕机&#xff0c;它们可以分别通过回放日志和重新读入 RDB 文件的方式恢复数据&#xff0c;从而保证尽量较少丢失数据&#xff0c;提升可靠性。 不过&…

B.修改数列

给定一个长度为 n 的正整数数列 a1,a2,…,an。 你可以对其中任意个&#xff08;可以是 0 个&#xff09;元素进行修改。 但是&#xff0c;每个元素最多只能修改一次&#xff0c;每次修改&#xff1a;要么令其加 1&#xff0c;要么令其减 1。 请问&#xff0c;至少需要修改多少个…