RDS for Mysql 到云数据库GaussDB

前言

该实验旨在指导用户使用DRS将RDS MySQL上的数据迁移到 GaussDB中。 本实验涉及数据复制服务DRS(Data Replication Service)、关系型数据库服务RDS(Relational Database Service)、GaussDB、数据管理服务DAS(Data Admin Service)、VPC(虚拟私有云)、公网IP(EIP)等华为云服务。

说明

1) 、本实验秉承最小化(表级)资源未使用UGO进行结构迁移,使用DRS迁移时可选择同步表结构。
2)、完成本实验账号需要有云上相应资源权限。

实验流程

1)、登陆华为云:https://auth.huaweicloud.com

 

2)、基础环境准备
2.1)、创建云数据库GaussDB
 

进入数据库购买界面,选择“购买数据库实例”。
 

配置数据库,主要参数如下,其余请保持默认设置(大概20min)。

● 计费模式:按需计费
● 区域:华北-北京四
● 实例名称:gauss-hccdp,您可自定义
● 产品类型:基础版
● 数据库版本:2.7
● 实例类型:主备版  ---因资源问题本次实验申请主备版模拟(操作与分布式版无差异)
● 性能规格:通用增强II型 4vCPUs|16GB
● 虚拟私有云、内网安全组:选择已预置的VPC及安全组
● 管理员密码:请设置为Jlzt!123单击“立即购买”后,在确认页面提交订单。
 

2.2)、创建云数据库 RDS 实例

在控制台中鼠标选择页面左侧菜单栏,点击“服务列表” > ”数据库” > “云数据库 RDS”。
 

点击“购买数据库实例”进入参数填写界面配置相关参数:
● 计费方式:按需计费
● 区域:华北-北京四
● 实例名称:rds-hccdp,您可自定义
● 数据库引擎: MySQL
● 数据库版本:5.7
● 实例类型:单机
● 储存类型:SSD 云盘
● 性能规格:通用型,2vCPUs|4GB注意:请确认所选类型为“通用型”。 ● 虚拟私有云:选择已预置的VPC
● 数据库端口:默认(3306)
● 管理员密码:请设置为Jlzt!123点击“立即购买”,确认产品规格,单击“提交”。
 

状态从“创建中”变为”备份中”,最终变为“正常”则为购买完成。

2.3)、设置安全组规则

RDS for MySQL数据库实例创建成功后,选中实例名称,单击。
如下图:
 

进入实例基本信息界面后,可滑动至“连接信息”,点击安全组中的“安全组名称”。如下图:
 

在安全组设置界面,选择“入方向规则”,点击添加规则:

 在添加入方向规则界面,对参数进行设置,其余保持默认。设置如下:
● 优先级:1
● 协议端口:基本协议/自定义TCP(默认)3306
 

设置完成后,可以在界面上看到该规则,如下:

2.4)、在源端MySQL中构造数据

RDS for MySQL数据库实例创建成功后,选择实例右侧的“登录”。
如下图:
 

进入数据库管理服务DAS界面,在“实例登录”窗口中:

  • 填写购买实例是所设的数据库root用户密码(本文设置为Jlzt!123)。

  • 单击“测试连接”,确认有“连接成功”的提示返回。

  • 勾选“记住密码”,打开“定时采集”和“SQL执行记录”。


 

新增用户数据库finance。字符集保持默认
 

单击“SQL查询”,进入查询界面。
 

执行以下代码,并执行SQL在数据库finance中创建两个表client和bank_card。

DROP TABLE IF EXISTS client;

CREATE TABLE IF NOT EXISTS client (

c_id INT PRIMARY KEY AUTO_INCREMENT,

c_name VARCHAR ( 100 ) NOT NULL,

c_mail CHAR ( 30 ) UNIQUE,

c_id_card CHAR ( 20 ) UNIQUE NOT NULL,

c_phone CHAR ( 20 ) UNIQUE NOT NULL,

c_password CHAR ( 20 ) NOT NULL,

c_bit BIT DEFAULT NULL

);

DROP TABLE IF EXISTS bank_card;

CREATE TABLE bank_card ( b_number CHAR(30) PRIMARY KEY, b_type CHAR(20), b_c_id INT NOT NULL );


 

利用DAS的“数据方案”中“自动生成测试数据”在测试表中构造测试数据。
 

在“自动生成测试数据”页面中单击“新建任务”先构造client表中的数据。 

在“新建测试数据生成任务”对话框中,目标表选择”client”,将c_mail、c_id_card、c_phone三个有唯一约束的字段需要修改生成方式,使其满足唯一性要求。

在左侧单击字段c_mail,在右侧“生成方式”区域将“生成类型”修改为“非重复字符串”,选项选为“系统随机”,同时勾选下方的“遇到数据冲突则替换”。使用同样方法,设置c_id_card、c_phone的字段生成方式。

单击“生成数据”,在提示框中单击“是”。

用相同的办法构造bank_card表的测试数据。注意:b_number为主键,不允许重复,故需要修改生成类型为非重复字符串。同时勾选下方的“遇到数据冲突则替换”。
 

两张表的数据生成后,会在“自动生成测试数据”窗口中显示数据生成的详细信息。
 

检查测试数据是否已成功插入表中。在“SQL查询”窗口中,依次执行如下语句,可以查询到预置数据100000条已成功插入表格中。

SELECT COUNT(*) FROM client;
 

SELECT COUNT(*) FROM  bank_card;

2.5)、在GaussDB中创建目标数据库

登录GaussDB数据库
实例状态显示“正常”即表示实例已创建成功。
进入云数据库GaussDB控制台。

单击实例右侧的“登录”。

  • 在“实例登录”对话框中,输入购买服务时所设的root用户密码(本文设置为Jlzt!123),并测试连接。确认可以连接成功。

  • 勾选“记住密码”,打开“定时采集”和“SQL执行记录”。

说明:postgres是GaussDB实例内置的系统库。
为目标GaussDB实例创建测试用数据库finance

  • 单击“新建数据库”,数据库名称设为finance,DBCOMPATIBILITY设为MySQL。其他参数保持默认即可,然后单击“确定”。

2.6)、创建同步任务

在控制台中,单击服务列表选择“数据库” > “数据复制服务 DRS”。

进入“实时同步管理”页面,单击右上角“创建同步任务”,进入同步页面。

在“同步实例”下,填选任务信息和同步实例信息参数:

计费模式:按需计费
区域:华北-北京四
任务名称: DRS-hccdp,您可自定义
数据流动方向:入云
源数据库引擎:MySQL
目标数据库引擎:GaussDB 主备版
网络类型: VPC网络
目标数据库实例:下拉选择搭建环境章节节创建的GaussDB实例
同步模式:全量+增量

点击“开始创建”,在弹出的提示框中单击“我已阅读并同意”。待同步实例生成后会有实例对应的网络信息。

2.7)、填写源库及目标库信息

同步实例创建成功后,在“源库及目标库”下,填写源库信息和目标库信息。

源库信息: 

源库类型:RDS实例
数据库实例名称:下拉选择步骤1.1.1购买的RDS实例
数据库用户名:root
数据库密码:本文设置为Jlzt!123

点击“测试连接”,连接成功如下图:

注意:同步实例必须创建成功后才能点击“测试连接”。

目标库信息:

数据库实例名称:默认
数据库用户名:root
数据库密码:本文设置为Jlzt!123

同上点击“测试连接”,连接成功如图所示:

确定源库和目标库连通后,单击“下一步”并在提示框中单击“同意,并继续”进行确认。

设置同步

将在源端RDS构造的测试库展开,勾选上测试表,将测试表移动到右侧

输入1.4节在GaussDB实例创建测试database的名称finance

确认无误后,点击下一步,进入预检查。

2.8)、预检查

在“预检查”页面可以进行同步任务预检查,校验是否可以进行数据同步。
如图所示,查看检查结果,如有不通过的检查项,需要修复后,单击“重新校验”按钮重新进行同步任务的预检查。 待所有检查项结果均成功时,单击“下一步”。

说明:所有检查项结果均成功时,若存在告警,需要阅读并确认告警详情后才可以继续执行下一步操作。

任务确认

启动时间:立即启动
任务异常通知设置:不勾选
任务异常自动结束时间:14  <<<<默认天数

单击“启动任务”

在弹出的“启动前须知”,点击“启动任务”提交同步任务。同步任务提交后,您可以返回“实时同步管理”页面,查看同步任务状态。

2.9)、同步源端增量数据

等待同步任务启动后,会经历全量同步和增量同步两个阶段,对于不同阶段的同步任务,您可以进行任务管理。
 

全量同步中的任务,您可单击任务名称,在 “同步进度”页签下,查看同步任务的进度。全量同步经过等待期后,进入同步过程。可以查看全量同步完成剩余时间,了解全量同步的进度。当全量同步进度显示为 100%,表示全量同步已经完成。

全量同步任务完成后,使用DAS登录源端RDS MySQL。
登录成功后,确认是否有“SQL查询”窗口处于打开中,如果有,请进入下一步。如果没有,请在上方菜单中选择“SQL操作>SQL查询”。

执行以下SQL,向bank_card表中插入新数据。

INSERT INTO bank_card(b_number,b_type,b_c_id) VALUES ('6222021302020011001','信用卡',1);

INSERT INTO bank_card(b_number,b_type,b_c_id) VALUES ('6222021302020340002','信用卡',3);

INSERT INTO bank_card(b_number,b_type,b_c_id) VALUES ('6222021302020860003','信用卡',5);

INSERT INTO bank_card(b_number,b_type,b_c_id) VALUES ('6222021302020000004','信用卡',7);

INSERT INTO bank_card(b_number,b_type,b_c_id) VALUES ('6222021302020780005','信用卡',9);

INSERT INTO bank_card(b_number,b_type,b_c_id) VALUES ('6222021302020000006','信用卡',10);

INSERT INTO bank_card(b_number,b_type,b_c_id) VALUES ('6222021302020025007','信用卡',12);

INSERT INTO bank_card(b_number,b_type,b_c_id) VALUES ('6222021302020000008','信用卡',14);

INSERT INTO bank_card(b_number,b_type,b_c_id) VALUES ('6222021302020069009','信用卡',16);

INSERT INTO bank_card(b_number,b_type,b_c_id) VALUES ('6222021302020356010','信用卡',18);

INSERT INTO bank_card(b_number,b_type,b_c_id) VALUES ('6222021302020412011','储蓄卡',19);

INSERT INTO bank_card(b_number,b_type,b_c_id) VALUES ('62220213020212030012','储蓄卡',21);

INSERT INTO bank_card(b_number,b_type,b_c_id) VALUES ('6222021302020000013','储蓄卡',7);

INSERT INTO bank_card(b_number,b_type,b_c_id) VALUES ('6222021302020000014','储蓄卡',23);

INSERT INTO bank_card(b_number,b_type,b_c_id) VALUES ('6222021302020000015','储蓄卡',24);

INSERT INTO bank_card(b_number,b_type,b_c_id) VALUES ('6222021302020000016','储蓄卡',3);

INSERT INTO bank_card(b_number,b_type,b_c_id) VALUES ('6222021302020000017','储蓄卡',26);

INSERT INTO bank_card(b_number,b_type,b_c_id) VALUES ('6222021302020000018','储蓄卡',27);

INSERT INTO bank_card(b_number,b_type,b_c_id) VALUES ('6222021302020000019','储蓄卡',12);

INSERT INTO bank_card(b_number,b_type,b_c_id) VALUES ('6222021302020000020','储蓄卡',29);

执行如下SQL查询插入数据后表中的数据总条数。此时发现手动插入测试数据已经成功insert。

使用DAS登录目标端GaussDB实例。
在SQL查询窗口左上角库名选择“finance”,Schema选择“finance”。拷贝代码,并执行SQL

SELECT count(*) from bank_card;

SELECT * from bank_card where b_c_id=29;
 

可以看到,DRS将源端RDS MySQL的增量数据已经成功同步到目标端 。
打开桌面的xfce终端,使用gsql连接数据库。
在命令行依次输入下列语句:

wget https://sandbox-expriment-files.obs.cn-north-1.myhuaweicloud.com:443/20221121/GaussDB-Kernel-V500R001C20-EULER-64bit-gsql.tar.gz

tar -zxvf GaussDB-Kernel-V500R001C20-EULER-64bit-gsql.tar.gz

source gsql_env.sh

2.10)、绑定弹性公网IP

返回控制台页面,在左侧图标栏,单击服务列表图标,选择弹性公网IP。

点击“购买弹性公网IP”,参数填写界面配置相关参数:
计费方式:按需计费
区域:华北-北京四
线路:全动态BGP(默认)
公网带宽:按流量计费
带宽大小:5(默认)

点击“立即购买”,确认信息无误后单击“提交”:

可以看到弹性公网IP购买成功:

回到GaussDB登录界面,点击左侧GaussDB实例名称,进入GaussDB实例,操作如下:

可看到具体的实例信息,找到连接信息,绑定弹性公网IP:

在弹出的“绑定弹性公网IP”窗口中,选择已创建的IP并单击“确定”。通过刷新可查看是否绑定成功,绑定成功后显示如下:

使用gsql语句连接数据库,并查看SQL检查增量数据是否已经同步成功。

gsql -h 120.46.xxx.xx -d finance -p 8000 -U root -W Jlzt!123 -r                          

成功登陆后可进行数据库相关操作。

                                

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

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

相关文章

从研发域到量产域的自动驾驶工具链探索与实践

导读 本文整理自 2023 年 9 月 5 日百度云智大会 - 智能汽车分论坛&#xff0c;百度智能云自动驾驶云研发高级经理徐鹏的主题演讲《从研发域到量产域的自动驾驶工具链探索与实践》。 全文中部段落附有演讲中 2 个产品演示视频的完整版&#xff0c;精彩不容错过。 (视频观看&…

Redis7--基础篇2(Redis的十大数据类型及常用命令)

1. Redis的十大数据类型及常用命令 Redis是key-value键值对类型的数据库&#xff0c;我们所说的数据类型指的是value的数据类型&#xff0c;key的数据类型都是字符串。 1.1 字符串&#xff08;String&#xff09; string是redis最基本的类型&#xff0c;一个key对应一个val…

船舶数据采集与数据模块解决方案

标准化信息处理单元原理样机初步方案&#xff1a; 1&#xff09;系统组成 标准化信息处理单元原理样机包含硬件部分和软件部分。 硬件部分包括集成电路板、电源模块、主控模块、采集模块、信息处理模块、通讯模块、I/O模块等。 软件部分包括协议统一标准化模块、设备互联互…

Scala爬虫如何实时采集天气数据?

这是一个基本的Scala爬虫程序&#xff0c;使用了Scala的http library来发送HTTP请求和获取网页内容。在爬取天气预报信息时&#xff0c;我们首先需要创建一个代理对象proxy&#xff0c;并将其用于发送HTTP请求。然后&#xff0c;我们使用http库的GET方法获取网页内容&#xff0…

【高分快刊】Elsevier旗下,中科院2区SCI,2个月19天录用!

计算机类 • 高分快刊解读 今天小编带来Elsevier旗下计算机领域好刊的解读&#xff0c;如有相关领域作者有意向投稿&#xff0c;可作为重点关注&#xff01;后文有真实发表案例&#xff0c;供您投稿参考~ 01 期刊简介 ☑️出版社&#xff1a;Elsevier ☑️影响因子&#xf…

能源监测管理系统有哪些作用与效果?

随着全球能源的不断增加&#xff0c;能源的有限性与环境问题日益严重&#xff0c;用能管理企业需要一种高效的方法来管理能源与利用能源&#xff0c;因此能源监测管理系统成为了一种不可或缺的工具。 能源监测管理系统的重要性 1、实现节能减排的目标 通过系统&#xff0c;可…

电动汽车充放电V2G模型

威♥关注“电击小子程高兴的MATLAB小屋”获取更多资料 1主要内容 本程序主要建立电动汽车充放电V2G模型&#xff0c;采用粒子群算法&#xff0c;在保证电动汽车用户出行需求的前提下&#xff0c;为了使工作区域电动汽车尽可能多的消纳供给商场基础负荷剩余的光伏电量&#xf…

一例恶搞的样本的分析

概述 这个病毒会将自身伪装成水印标签系统&#xff0c;通过感染桌面和U盘中的后缀名为.doc、.xls、.jpg、.rar的文件来传播。会监听本地的40118端口&#xff0c;预留一个简单的后门&#xff0c;利用这个后门可远程执行锁屏、关机、加密文件、开启文件共享等操作。 样本的基本…

【Azure 架构师学习笔记】-Azure Storage Account(5)- Data Lake layers

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Storage Account】系列。 接上文 【Azure 架构师学习笔记】-Azure Storage Account&#xff08;4&#xff09;- ADF 读取Queue Storage 前言 不管在云还是非云环境中&#xff0c; 存储是IT 系统的其中一个核心组件。在…

Educational Codeforces Round 157 (A--D)视频详解

Educational Codeforces Round 157 &#xff08;A--D&#xff09;视频详解 视频链接A题代码B题代码C题代码D题代码 视频链接 Educational Codeforces Round 157 &#xff08;A–D&#xff09;视频详解 A题代码 #include<bits/stdc.h> #define endl \n #define deb(x)…

React 其他常用Hooks

1. useImperativeHandle 在react中父组件可以通过forwardRef将ref转发到子组件&#xff1b;子组件拿到父组件创建的ref&#xff0c;绑定到自己的某个元素&#xff1b; forwardRef的做法本身没有什么问题&#xff0c;但是我们是将子组件的DOM直接暴露给了父组件&#xff0c;某下…

shopee、亚马逊卖家如何安全给自己店铺测评?稳定测评环境是关键

大家都知道通过测评可以提升产品的转化率&#xff0c;提升产品的销量&#xff0c;那么做跨境平台的卖家如何安全的给自己店铺测评呢&#xff1f; 无论是亚马逊、拼多多Temu、shopee、Lazada、wish、速卖通、敦煌网、Wayfair、雅虎、eBay、Newegg、乐天、美客多、阿里国际、沃尔…

【数据结构】树与二叉树(五):二叉树的顺序存储(初始化,插入结点,获取父节点、左右子节点等)

文章目录 5.1 树的基本概念5.1.1 树的定义5.1.2 森林的定义5.1.3 树的术语5.1.4 树的表示 5.2 二叉树5.2.1 二叉树1. 定义2. 特点3. 性质引理5.1&#xff1a;二叉树中层数为i的结点至多有 2 i 2^i 2i个&#xff0c;其中 i ≥ 0 i \geq 0 i≥0。引理5.2&#xff1a;高度为k的二叉…

Flink(一)【WordCount 快速入门】

前言 学完了 Hadoop、Spark&#xff0c;本想着先把 Kafka、Flume 这些工具先学完的&#xff0c;但想了想还是把核心的技术先学完最后再去把那些工具学学。 最近心有点累哈哈哈&#xff0c;偷偷立个 flag&#xff0c;反正也没人看&#xff0c;明年的今天来这里还愿哈&#xff0c…

基于Java Web的在线教学质量评价系统的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

机器学习——回归

目录 一、线性回归 1、回归的概念&#xff08;Regression、Prediction&#xff09; 2、符号约定 3、算法流程 4、最小二乘法&#xff08;LSM&#xff09; 二、梯度下降 梯度下降的三种形式 1、批量梯度下降&#xff08;Batch Gradient Descent,BGD&#xff09;&#xff…

MES系统防呆措施之具体场景学习

在工业设计上&#xff0c;为了避免使用者的操作失误造成机器或人身伤害&#xff08;包括无意识的动作或下意识的误动作或不小心的肢体动作&#xff09;&#xff0c;会针对这些可能发生的情况来做预防措施&#xff0c;称为防呆。对于注塑生产企业来讲&#xff0c;模具亦是企业的…

MinGW32丢失dll文件

问题现象 执行Makefile的时候&#xff0c;突然出现这个提示&#xff0c;还有好几个类似的&#xff0c;提示我找不到dll文件&#xff0c;建议重装。 问题分析 重装软件 最直接的办法肯定是按照建议来重装&#xff0c;但是发现重装了好几次&#xff0c;不是缺这个就是缺那个&a…

Linux多线程【线程池】

✨个人主页&#xff1a; 北 海 &#x1f389;所属专栏&#xff1a; Linux学习之旅 &#x1f383;操作环境&#xff1a; CentOS 7.6 腾讯云远程服务器 文章目录 &#x1f307;前言&#x1f3d9;️正文1.线程池的概念1.1.池化技术1.2.线程池的优点1.3.线程池的应用场景 2.线程池的…

Vue路由使用参数传递数据

一、使用query参数传递数据 &#xff08;一&#xff09;参数的传递 1. 携带参数进行传递 <router-link to"/路径?参数名1参数值1&参数名2参数值2">内容</router-link> 我们在下面的代码中传递每条消息的id和标题&#xff1a; 2. 配置对象进行传递…