45分钟

迁移数据到腾讯云存储&云数据库

实验预计耗时:45min

注意:本实验需要用到使用腾讯云VPC提供安全私有网络并进行访问控制实验的结果,请先完成前置实验再继续该实验。

1. 课程背景

1.1 课程目的

在企业上云的过程中,数据迁移是必不可少的一个过程。另外,随着业务变化,需要额外建立数据库用于开发测试,并从真实数据库中迁移部分数据到测试库。腾讯云数据库以及数据传输DTS服务提供了便捷的数据迁移方案。

在本实验中,我们将模拟数据迁移,把产品讨论区的业务数据迁移到腾讯云文件存储中。我们还将使用DTS,从一个数据库迁移部分数据到另一个数据库中,实现日常的运维管理工作。

1.2 课前知识准备

1.相关概念

a) 腾讯云服务器CVM:CVM(Cloud Virtual Machine,CVM)是腾讯云推出的弹性计算服务。CVM有管理简单、稳定可靠、配置多样化等特点,随着业务需求的变化,您可以实时扩展或缩减计算资源。CVM 支持按实际使用的资源计费,可以为您节约计算成本。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。

b)云数据库MySQL:云数据库 MySQL(TencentDB for MySQL)让用户可以轻松在云端部署、使用 MySQL 数据库。通过云数据库 MySQL,您在几分钟内即可部署可扩展的 MySQL 数据库实例,不仅经济实惠,而且可以弹性调整硬件容量的大小而无需停机。云数据库 MySQL 提供备份回档、监控、快速扩容、数据传输等数据库运维全套解决方案,为您简化 IT 运维工作,更加专注于业务发展。

c)数据传输服务DTS:腾讯云数据传输服务(Data Transmission Service,DTS)支持 MySQL、MariaDB、PostgreSQL、Redis、MongoDB 等多种关系型数据库及 NoSQL 数据库迁移,可帮助用户在业务不停服的前提下轻松完成数据库迁移上云,利用实时同步通道轻松构建高可用的数据库容灾架构,通过数据订阅来满足商业数据挖掘、业务异步解耦等场景需求。

d)Discuz!:一套通用的社区论坛软件系统,是全球成熟度最高、覆盖率最大的论坛软件系统之一。用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。Discuz! 的基础架构采用世界上最流行的web编程组合PHP+MySQL实现,是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案。

2.相关命令介绍

a)yum:RPM包管理,能够从指定的服务器自动下载RPM包并且安装

b)chown:利用 chown 将指定文件的拥有者改为指定的用户或组

c)mount:挂载Linux系统外的文件

d)df:显示目前在Linux系统上的文件系统的磁盘使用情况统计

2. 实验环境

2.1 实验组网介绍

2.2 实验的数据规划表

数据项

数据

说明

腾讯云账号

账号:XXXXXXXXX,密码:XXXXXXXXXX

涉及产品:文件存储CFS、云数据库MySQL、数据传输服务DTS

2.3 实验配置表

购买产品

规格

腾讯云文件存储CFS

10GB

腾讯云数据库MySQL

MySQL5.6

数据传输服务DTS

-

2.4 实验操作环境

本实验要求:

  • 运行Microsoft Windows,可以接入互联网的笔记本电脑或者台式机
  • Internet浏览器,例如Chrome、IE或Firefox
  • 能够通过浏览器连接腾讯云官网https://cloud.tencent.com

3. 实验流程

4. 实验目标

完成本实验后,您将能够:

  • 创建并挂载文件存储
  • 在云数据库MySQL中新建库及表
  • 修改云数据库MySQL参数
  • 使用DTS做数据库迁移

通过该实验,学员能够了解腾讯云文件存储的基本配置,掌握腾讯云数据库MySQL的管理,掌握DTS的使用。

5. 实验步骤

任务1:挂载腾讯云文件存储CFS

10min ~ 15min

【任务目标】

创建腾讯云文件存储,将文件存储挂载到CVM文件系统。

【任务步骤】

1.登录腾讯云控制台,点击【云产品】,选择【文件存储】。

2.点击【新建】,弹出【创建文件系统界面】。

注意:【地域】、【可用区】、【网络类型】、【选择网络】须和使用腾讯云VPC提供安全私有网络并进行访问控制实验里的VPC和子网1一致。

配置项

内容

名称

填写“Lab-CFS”

地域

广州

可用区

广州四区

网络类型

私有网络

选择网络

选择前置实验里的VPC和子网

其他选项保持默认,点击【提交】。

3.点击刚刚创建的文件存储,查看该文件存储的【挂载点信息】,记录文件存储【IP地址】。

注意:请确认前置实验创建的CVM与文件存储处于同一地域,IP地址在同一子网内。

4.登录前置实验创建的Discuz!论坛CVM,输入以下命令,安装nfs-utils。

sudo yum install nfs-utils -y

5.输入下方命令,创建待挂载目标目录lab-cfs

cd /data/wwwroot/discuz/upload/
mkdir lab-cfs
chown apache lab-cfs/

6.输入下列命令,挂载文件系统。将<挂载点IP>改成刚刚记录的CFS【IP地址】

sudo mount -t nfs -o vers=4 <挂载点IP>:/ /data/wwwroot/discuz/upload/lab-cfs/

7.输入命令查看挂载是否成功,如果成功,则可以看到文件系统的容量。

df -h

任务2:修改Discuz!附件上传路径

5min ~ 10min

【任务目标】

在Discuz!论坛面板上修改附件上传路径,使附件上传到文件存储CFS。

【任务步骤】

1.将/data/wwwroot/discuz/upload/data/attachment文件夹移动到文件存储路径下。

mv /data/wwwroot/discuz/upload/data/attachment/ /data/wwwroot/discuz/upload/lab-cfs/

2.打开Discuz!论坛,在右上角输入用户名“admin”和安装时设置的管理员密码登录Discuz!

3.点击【管理中心】,点击【全局】,点击【上传设置】,在【本地附件保存位置】输入“./lab-cfs/attachment“,在【本地附件URL地址】下方输入” lab-cfs/attachment“,点击“提交“。

4.点击右上角【站点首页】,回到论坛首页,点击【默认版块】,发表任意帖子,上传任意附件,最后发布帖子。

如果附件成功上传并展示,点击附件也可以成功下载,那么实验成功。

任务3:新建数据库,并在旧数据库中新建用于迁移的库和表

10min ~ 15min

【任务目标】

通过腾讯云数据库MySQL建立云数据库(测试库),从原数据库迁移部分采样数据到测试库,用于数据库的开发、测试工作。

【任务步骤】

1.登录【云数据库 MySQL】控制台,选择【MySQL】-【实例列表】,点击【新建】。新建一个配置与前置实验一致的数据库,并完成初始化。(具体操作可参考使用腾讯云VPC提供安全私有网络并进行访问控制实验中“任务4的步骤1~3”)

注意:新的数据库必须和旧数据库在同一可用区、同一VPC,同一子网下。

接下来,我们在老的数据库中,新建库和表,用于模拟数据的迁移。

2.登录旧数据库,点击【登录】。

3.输入用户名“root”和数据库密码。点击【登录】。

4.点击【新建】-【新建库】。

5.点击【+新增数据库】,在弹出框中进行如下设置:

配置项

内容

数据库名

填写“Lab_test”

字符集

big5

排序规则

big5_chinese_ci

点击【提交】。

6.新建库成功后,点击【新建】-【新建表】。

在【基本信息】栏,设置如下:

配置项

内容

表名

填写“Lab_test”

存储引擎

innodb

字符集

big5

校验规则

big5_chinese_ci

行格式

Dynamic

其余选项保持默认。

在【列信息】栏,点击【新增】。

配置项

内容

列名

填写“test1”

类型

varchar

长度

输入“10”

点击下方的【提交】。

7.弹出【SQL变更提交预览】,点击【提交】,创建表。

任务4:将旧数据库迁移到新数据库

5min ~ 10min

【任务目标】

利用数据迁移DTS将任务3旧数据库中创建的Lab_test库和表迁移到新数据库中,完成迁移后,新数据库也应有Lab_test库和表。

【任务步骤】

1.在【云数据库 MySQL】控制台选择【数据迁移】,进入到数据传输服务的管理界面,点击【新建任务】。

2.【链路地域】选择创建云数据库时选择的地域,点击【0元购买】。

3.第一步:设置源和目标数据库:

【任务名称】输入“Lab-DTS“

【定时执行】不设置

【源库类型】选择”MySQL“

【服务提供商】选择”普通“

【接入类型】选择”云数据库“

【所属地域】选择旧数据库对应的地域

【实例ID】选择旧数据库对应的ID

输入旧数据库的【账号】和【密码】,点击【测试连通性】,确保连接通过。

选择目标数据库:【实例ID】选择本实验新创建的MySQL数据库的ID。设置完毕后点击【保存】。

在弹出框中点击【确定】。

4.第二步:选择类型及库列表

【选择类型】为“全量+增量数据迁移“

【选择对象】为”指定库表“,勾选库表”Lab_test“

【数据一致性检测】选择”不检测“

点击【下一步:校验任务】。

5.第三步:校验任务

任务校验成功后,点击【启动】。

6.迁移任务的任务状态显示总进度为100%时,点击【完成】

7.在弹出窗口点击【确认】。

8.等待任务状态变为”任务成功“。

在完成上述步骤后,登录到新数据库实例,可看到库表“Lab_test“,代表迁移成功。

6. 实验验证

【任务1验证】步骤7输入命令查看挂载是否成功,如成功应出现IP地址命名的文件系统。

【任务2验证】在Discuz!论坛发表帖子,附件成功上传且能成功下载。

【任务4验证】在新数据库中可看到旧数据库的“Lab_test“库表。

7. FAQ

【问题】DTS工具进行数据库迁移时,【校验任务】任务检查中出现“失败”怎么办?

根据失败提示,修改源数据库实例相应的参数,然后再次执行迁移任务。

如出现以下提示:

登录旧数据库的数据库管理工具phpMyAdmin,选择数据库【Lab_test】,在【SQL】输入:

SET GLOBAL innodb_stats_on_metadata=off

点击【执行】。

再重新进行任务校验即可。

8. 注意事项

如实验资源无需保留,请在实验结束后及时销毁,以免产生额外费用。