迁移数据到腾讯云存储&云数据库
实验预计耗时: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. 注意事项
如实验资源无需保留,请在实验结束后及时销毁,以免产生额外费用。
学员评价