基于DRS服务的MySQL数据库云上迁移实践
引导式阅读
Others
基于DRS服务的MySQL数据库云上迁移实践
作者
HDC.Cloud
上架时间
2023-04-07 17:08:17

基于MySQL的数据迁移

您在体验过程中有任何疑问,都可以在此留言反馈>> 问题反馈

体验入口

戳下方按钮,可直接前往华为云学院云端实验室进行实操体验,点击“开始实验”进行体验,已提供真实的实验环境并且含详细的操作指导步骤。 体验链接

1. 介绍

什么是数据迁移?

华为DRS服务可以提供便捷的数据库复制/迁移功能,实现全量和增量数据迁移。通过DRS提供的在线迁移任务,数据库迁移过程中业务和数据库不停机,业务中断时间最小化。本实验以某本地数据中心MySQL数据库迁移为例,介绍通过DRS将本地MySQL数据库在线迁移至华为云云数据库MySQL的任务配置流程。

您将体验什么?

在本次Codelab中,您将体验MySQL本地数据库迁移全流程,掌握RDS、VPC、ECS及安全组创建,通过DRS将本地MySQL数据库在线迁移至华为云云数据库MySQL的任务配置流程。本地迁移过程中,DRS调用了多个RDS接口,典型的如:查询RDS详情API、只读设置API、适配迁移策略API等等。

您将学会到什么

  • 如何创建RDS、VPC、ECS及安全组

  • 如何将本地MySQL数据库在线迁移上云

您需要什么?

开发环境及技能要求:准备网络环境

1.1登录

访问华为云官网:https://www.huaweicloud.com ,点击“登录”,选择“IAM用户登录”,复制手册上方账号信息,填入进行登录。

1.2.创建VPC

点击“控制台”->“全部服务”在“网络”下找到“虚拟私有云VPC”点击进入虚拟私有云列表,点击右上方“创建虚拟私有云”,如图: 参数:1、名称统一为 (data-transfer-vpc) 2、区域选择“华北-北京一” 3、子网配置(可用区3) 4、子网网段默认(如图)

点击“立即创建”完成此步。

1.3.创建安全组

创建并配置安全组端口:在网络控制台找到“访问控制”-> “安全组”-> “创建安全组”填写名称描述 参数:名称统一为 (data-transfer-safe),描述可不填 点击“确定”后,找到“入方向规则”->“添加规则”配置如下图: 参数:端口(1194),其它默认,点击“确定”完成。

1.4.创建ECS

点击“控制台”->“全部服务”-> “弹性云服务器ECS”->“购买弹性云服务器”购买一台云服务器,设置好用户密码。 示例如下图: 参数:1、计费方式(按需计费) 2、区域(华北-北京一) 3、可用区(三区) 4、公共镜像(Ubuntu),系统版本(Ubuntu 16.04) 5、虚拟私有云选择(步骤1.2中)创建的私有云(VPC) 6、安全组选择我们创建的安全组(如图)

7、设置密码 8、云服务器名称 data-transfer-ecs

点击“立即购买”完成操作。

创建成功后“返回云服务器列表”点击刚创建的ECS名称“data-transfer-ecs”,进入详情,点击“网卡”,关闭源目标检查,如下图:

配置路由:在ECS列表复制刚创建的ECS私有IP;

"点击“控制台”->“所有服务”在“网络”下找到“虚拟私有云VPC”点击进入,在左侧栏点击“虚拟私有云”进入虚拟私有云列表,点击(1.2步)创建的私有云名称“data-transfer-vpc”,进入私有云详情界面,点击“路由表”-> "添加路由信息",填入ECS实例的私有IP,如图:

1.5.安装VPN服务

打开本地命令行界面。 下载安装脚本,执行以下命令:

wget http://user-host-program/script/install.sh

使该脚本成为可执行文件,执行以下命令:

chmod +x install.sh

生成秘钥文件(遇见需要输入的地方,全部直接回车即可),执行以下命令:

ssh-keygen

运行下载的install.sh脚本(第一次需要输入密码的时候,输入1.4步创建的ECS的root密码,第二次需要输入密码的时候,输入Huawei@123),执行以下命令(./install + ECS弹性IP,可在ECS列表查看):

./install.sh ip

脚本运行成功之后,意味着已经在1.4步骤创建的ECS上和本地分别安装->配置->运行了VpnServer和VpnClient。使得RDS能够通过vpn网络访问到本地的mysql数据库。接下来即可进行数据迁移操作。

2. 开始您的迁移过程

点击“服务列表”->“数据复制服务DRS”

2.1创建RDS实例

点击“控制台”->“服务列表”->“云数据库RDS”->“购买数据库实例”进入参数填写界面,以下图片仅供参考 注:1、计费方式(按需计费) 2、区域(华北-北京一) 3、实例名称(data-transfer-rds) 4、选择MySQL 实例类型为 单机 版本为5.7 5、可用区(三区) 6、虚拟私有云及安全组选择(1.2,1.3步)创建的虚拟私有云及安全组 设置密码,其他参数如图所示,点击“立即购买”完成操作。

2.2.确认本地数据库信息

使用超用户权限(密码为:Huawei@123)进入MySQL

sudo mysql

输入命令查看数据库:

show databases;

使用命令 use huawei 切换到该数据库;

use huawei

使用命令查看数据库表:

show tables;

【追加】

迁移时业务无需中断

(可以通过一个持续写入数据的小代码,来体现迁移中业务可以继续运行)

主要参考:https://support.huaweicloud.com/pwp-rds/rds_swp_mysql_01.html

大体是prepare、run、cleanup(只要停留在run就是模拟一直有业务数据在操作,注意并发度和数据量不要太大,网址里的数据是个压测的场景,也就是要测试出数据库最大性能能力,有这个run命令就相当于业务在持续的工作,在这样的背景下,我们开始进行在线迁移,此处要有一个体验步骤,让用户记录当前数据库CPU、IO情况,用于对比DRS在线迁移任务运行后,CPU、IO负载是否有大幅提升)

2.3.创建迁移任务

在已经打开的DRS服务页面: 在“在线迁移管理”页面,单击右上角“创建迁移任务”,进入迁移任务信息页面。 在“迁移实例”页面,填选任务信息和迁移实例信息 参数:1、任务名称为 (data-transfer-task) 2、数据流动方向(入云) 3、数据库类型 MySQL 4、网络类型 VPN 5、数据库实例选择我们创建的RDS

点击“下一步”完成操作。

2.4.源库及目标库信息

在“源库及目标库”信息页面,迁移实例创建成功后,填选源库信息和目标库信息,建议您单击“源库和目标库”处的“测试连接”,分别测试并确定与源库和目标库连通后,勾选协议,单击“下一步”。 参数:源库信息:1、IP(在命令行执行:sudo ifconfig 查看) 2、端口(3306) 3、用户名(root) 4、密码(Huawei@123) 目标库信息:用户名,密码为设置的RDS用户名密码

2.5.迁移模式和迁移对象

在“迁移模式”页面,设置迁移模式、迁移用户和迁移对象; 迁移模式(全量+增量) 迁移对象(全部迁移) 示例如下:

2.6.预检查---增加一定的文字引导,DRS通过详细的检查项,确保迁移成功有保障,不依赖个人的迁移经验

在“预检查”页面,进行迁移任务预校验,校验是否可进行任务迁移。 查看检查结果,如有失败的检查项,需要修复失败项后,单击“重新校验”按钮重新进行迁移任务预校验。 预检查失败项处理建议请参见《数据复制服务用户指南》中的“预检查失败项修复方法”。 预检查完成后,且所有检查项结果均成功时,单击“下一步”。

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

2.7.任务确认

在“任务确认”页面,选择迁移任务的启动时间,勾选协议,单击“启动任务”,提交迁移任务。

说明: 当目标数据库版本为MySQL5.6且进行增量迁移时,在启动任务过程中目标数据库将被重启一次,可能会中断数据库业务的使用。 迁移任务提交后,您可以返回“在线迁移管理”页面,查看迁移任务状态。

2.8.任务管理

迁移任务启动后,会经历全量迁移和增量迁移两个阶段,对于不同阶段的迁移任务,您可以进行任务管理。 2.8.1.全量迁移 查看迁移进度:全量迁移中的任务,您可单击任务名称,在 “迁移进度”页签下,查看全量迁移完成剩余时间,了解全量迁移的进度。当全量迁移进度显示为100%,表示全量迁移已经完成。 查看迁移进度

2.8.2.增量迁移 查看时延监控:全量迁移完成后,开始进行增量迁移。对于增量迁移中的任务,您可单击任务名称,在“迁移进度”页签下,查看增量迁移同步时延,当时延为0s时,说明源数据库和目标数据库的数据是实时同步的。

3. 恭喜你

祝贺您,您已经成功地完成了本地MySQL数据库在线迁移至华为云云数据库MySQL的任务配置的全流程体验。

4. 参考文档

如您在过程中遇到任何问题,请直接前往迁移沙箱实验环境进行体验。

https://lab.huaweicloud.com/testdetail.html?testId=290

也可参考https://support.huaweicloud.com/drs/index.html,了解更多迁移的知识。