HERO联盟知识学堂第一期——数据库工程师进阶之路——化繁为简,从“新”开始——LV2——MySQL数据库迁移上云

网友投稿 868 2022-05-29

微认证:MySQL数据库迁移上云

前言

目标

数据库上云的背景与优势

传统数据库面临的难题

云上数据库带来的经济效益

云数据库与传统数据库对比

个人总结 云数据库省事,花钱少,性能高;自购服务器搭建麻烦,花钱多,性能差。

微认证:MySQL数据库迁移上云

前言

目标

数据库上云的背景与优势

传统数据库面临的难题

云上数据库带来的经济效益

云数据库与传统数据库对比

个人总结 云数据库省事,花钱少,性能高;自购服务器搭建麻烦,花钱多,性能差。

云数据库是高速增长的百亿级市场

数据库上云是必然趋势

选择迁移目标

数据库解决方案对比

首先考虑云数据库

华为云数据库服务

SQL数据库——面向传统OLTP数据库业务

NoSQL数据库——面向海量扩展业务

数据库生态——构建完整的数据库解决方案

关系型数据库RDS

RDS MySQL的优势

数据管理服务DAS

数据库迁移的解决方案

传统数据库迁移原因

传统MySQL数据库迁移方案概览

传统数据库迁移方案比较

华为云数据复制DRS

华为云DRS适用场景

什么时候用DRS?

云数据迁移CDM

CDM应用场景

DRS与CDM的定位区别与关系

华为云数据库迁移的技术原理

华为云DRS在线迁移场景

传统主从结构的的数据库迁移

内网下自建MySQL数据库的迁移

数据库迁移的华为云实践

MySQL数据库迁移上云实践

DRS引导式迁移流程

DRS多种迁移模式

DRS识别迁移条件

DRS实时状态监控

DRS迁移对比

迁移对比与业务割接

CDM整库迁移实践

MySQL整体迁移到RDS

CDM数据库迁移的通用限制

自测题

MySQL本地数据库迁移实验细节

1. 准备环境

1.1 预置环境

1.2 登录华为云

HERO联盟知识学堂第一期——数据库工程师进阶之路——化繁为简,从“新”开始——LV2——MySQL数据库迁移上云

2. 数据库迁移

2.1 创建云数据库RDS实例

2.2 数据库测试程序

2.2.1 数据库测试程序

2.2.2 查看CPU、IP情况

2.3 创建迁移命令

2.4 源库及目标库信息

2.5 设定迁移

2.6 预检查

2.6.1 参数检查

2.7 任务确认

2.8 任务管理

2.8.1 全量迁移

2.8.2 增量迁移

2.8.3 迁移对比

2.8.4 增量迁移CPU、IO资源使用情况

3. 业务割接

3.1 中断业务

3.2 割接业务

3.3 结束实验

可能会遇到的题目

判断题

单选题

多选题

微认证:MySQL数据库迁移上云

前言

华为云提供了以华为云数据库RDS为基础结合DAS、DRS、CDM服务实现数据库轻松迁移上云的解决方案。

目标

了解云上数据库的优势与价值

区分不同数据库迁移的方法与特点

描述RDS和CDM的迁移流程与技术原理

区分DRS和CDM的适用场景

数据库上云的背景与优势

传统数据库面临的难题

高投入

周期长

难运维

不灵活

云上数据库带来的经济效益

即开即用

实时生产目标实例

响应时间快,公网费用低

无需额外支出license费用

弹性伸缩

根据业务情况弹性伸缩资源

按需开支

灵活调整实例规格

运维便捷

实例状态信息实时监控

专业的数据库管理平台

一键式扩容

完全兼容

兼容原生数据库引擎

兼容现有的程序和工具

方便迁移数据库

云数据库与传统数据库对比

云数据库是高速增长的百亿级市场

数据库上云是必然趋势

成本驱动

技术趋势

业务诉求

选择迁移目标

ECS自建数据库

云数据库

数据库解决方案对比

首先考虑云数据库

以下情况不考虑云数据库

要求超出了云数据库限制或需要云数据库无法支持的功能,则考虑ECS数据库服务器

为了完全控制操作系统及软件的访问和管理,则考虑ECS数据库服务器

ECS数据库服务器需要自行管理备份、复制和集群的问题

华为云数据库服务

关系型数据库服务RDS

MySQL

PostgreSQL

SQL Server

文档型数据库服务DDS

MongoDB

分布式缓存服务DCS

Redis

Memcached

分布式数据库中间件DDM

数据库安全服务DBSS

数据复制服务DRS

数据管理服务DAS

关系型数据库RDS

Relational Database Service(关系型数据库服务,RDS)

华为云关系型数据库RDS是一种基于云计算平台的即开即用、稳定可靠、弹性伸缩、便捷管理的在线关系型数据库服务。

RDS MySQL的优势

MySQL是一个真正的多用户、多线程SQL数据库服务器,是全球最受欢迎的开源关系型数据库,良好的跨平台能力,支持大部分主流操作系统平台上运行。

高可用

支持AZ内/跨AZ高可用主备架构

安全防护

支持VPC、子网、安全组、SSL连接、审计日记,确保数据安全性

备份恢复

最高达35天的系统自动备份,PITR任意时间点恢复,支持手动创建快照,轻松应对灾难恢复

轻松扩容

最多支持5个只读副本,扩展读负载

一键CPU&内存/扩容

在线磁盘扩容

数据迁移

支持数据迁移让业务轻松上云

高性能

全面支持MySQL5.7

推出兼容MySQL5.6的优化版

性能大幅提升,解决复制延迟问题

数据管理服务DAS

Data Admin Service(数据管理服务,DAS)是一款专业的简化数据库管理工具,提供良好的可视化操作界面,大幅提高工作效率,让数据管理变得安全、简单。

支持关系型数据库实例的管理

支持ECS自建库实例的数据管理

数据库迁移的解决方案

传统数据库迁移原因

磁盘空间不够

一些老项目,选用的机型并不一定适用于数据库,随着时间的推移,磁盘很有可能出现短缺。

业务出现瓶颈

项目中采用单机承担现有的读写业务,业务压力增大,不堪重负。如果IO压力在可接受的范围,会采用读写分离方案。

设备性能瓶颈

设备性能瓶颈主要在磁盘IO能力、内存、CPU,此时除了针对瓶颈做一些优化外,选择迁移是不错的方案。

项目改造

数据库跨机房,增加节点或者不同业务共用一台服务器,为了缓解服务器压力以及方便维护,也会做迁移。

传统MySQL数据库迁移方案概览

MySQL迁移主要技术是围绕数据做工作,所以就是在保证业务平稳持续地运行的前提下做备份恢复。

问题就是如何快速安全地进行备份恢复。

备份

备份前提:考虑数据量大小,源库业务可停机时长,主从关系、读写分离顺序

备份策略:全量备份、增量备份

备份方法:物理备份或使用迁移工具

传输

网络因素:网络耗时、断点续传

传输方式:直接拷贝、使用工具

传输距离:rsync适用于本地异构设备传输和文件同步;异地使用硬盘快递

恢复

恢复条件:数据量大小和备库业务可停机时长

恢复方式: 直接导入或使用工具

恢复检验:数据一致性、主从一致性、业务读写正常

传统数据库迁移方案比较

华为云数据复制DRS

Data Replication Service(数据复制服务,DRS)是一种易用、稳定、高效,用于数据库在线迁移和数据库实时同步的云服务。DRS围绕云数据库,降低了数据库之间数据流通的复杂性,有效地帮助您减少数据传输的成本

华为云DRS适用场景

DB在线迁移:业务不中断或者中断时间非常短

DB实时同步:基于数据库日志处理的技术。不同于批量同步,批量同步是非实时的,在某些时间点是同步的,大部分时间点是非同步的

业务可中断时间非常短

数据库数据量非常大

需要一个简单、省心的迁移服务

云数据迁移CDM

Cloud Data Migration(云数据迁移,CDM)提供同构/异构数据源之间批量数据迁移服务,帮助实现数据自由流动。支持自建和云上的文件系统,关系数据库,数据仓库,NoSQL,大数据云服务,对象存储等数据源。

本地数据迁移上云

云上数据迁移到本地

云上服务之间的数据迁移

DRS与CDM的定位区别与关系

DRS:用于数据库在线迁移和数据库实时同步的云服务。

CDM:提供同构/异构数据源之间批量数据迁移服务,帮助实现数据自由流动。

困惑点:CDM对标的是数据集成服务,一般是做数据导入数据仓库的场景,也可以用于一小部分的迁移场景

区别点:

是否在意业务中断时间?数据量是否大于100GB?迁移是否要简单,易用?

YES——DRS

NO——DRS/CDM

华为云数据库迁移的技术原理

华为云DRS在线迁移场景

VPC网络内的数据库在线迁移

客户ECS自己数据库迁移至RDS/DDS

RDS之间的数据迁移

RDS之间的数据同步

通过公网的数据库在线迁移

其他云数据库迁移至华为RDS/DDS

用户本地数据库迁移至RDS/DDS

通过VPN做在线迁移

本地数据中心数据库迁移至RDS/DDS

混合云间的数据同步

容灾

RDS/DDS作为用户本地数据库的灾备

传统主从结构的的数据库迁移

搭建主从关系

mysqldump导出数据

收集指定库需要的账号以及权限

使用rsync传输到目标库

导入数据到目标库,数据同步到目标从库

上述完成后,迁移源库业务到目标库,观察业务状态

如果业务没有问题,证明迁移成功

内网下自建MySQL数据库的迁移

准备RDS主备数据库

测试源数据库和目标端华为云云数据库MySQL实例之间的网络是否互通

收集账号与权限

使用DRS选择业务低峰期开始正式的数据库迁移

数据库迁移的华为云实践

MySQL数据库迁移上云实践

DAS数据库管理:通过数据导入目标数据表对数据进行备份或迁移

DRS数据复制:云数据库迁移的主要解决方案

CDM云数据迁移:使用CDM整库迁移功能,迁移数据库

DRS引导式迁移流程

进入数据复制服务控制台

创建迁移任务,选择迁移模式

配置源库及目标库信息

设定迁移用户及对象

预检查及参数对比

任务确认及查看迁移任务状态

DRS多种迁移模式

选择数据流动方向:入云,出云

选择网络类型:公网网络、VPC网络

选择目标库读写设置:只读、读写

选择迁移模式:业务可中断,选择全量迁移;业务中断最小化,选择全量+增量迁移

DRS识别迁移条件

预检查可以提前识别迁移是否满足成功条件

提供:

失败原因

失败详情

处理建议

用户可以根据失败信息和处理建议的指导,调整环境,以确保迁移成功

DRS实时状态监控

剩余时间评估:持续的评估,辅助用户从容做好迁移计划

同步时延:宏观把握数据同步的实时性

DRS迁移对比

对象级对比

宏观对比对象是否缺失:数据库、表、视图、存储过程、触发过程、触发器等

数据级对比

详细校对数据,不同细度:行数对比,内容对比

迁移对比与业务割接

对象检查

全量迁移阶段结束后,使用对象级别对比功能,校验数据库对象是否缺失。

全面检查

确认迁移对象无缺失后,选择一个业务低峰期,使用数据级对比功能,进行一次或者多次数据级对比,对源数据库和目标数据库整体数据差异具有一个宏观的结论。

割接复查

在割接阶段,停止源业务写入几分钟,使用数据级对比功能,进行一次指定表的数据级对比,推荐的表特征为:活跃表,关键业务表,对比多次存在差异的表

结束任务

在割接阶段停止原业务写入,确认数据无丢失后,结束在线迁移任务,割接与切换新业务至新数据库。

CDM整库迁移实践

MySQL整体迁移到RDS

进入CDM服务控制台

创建CDM集群可绑定EIP

创建MySQL连接

创建RDS连接

创建整库迁移作业

任务确认及查看迁移任务状态

CDM数据库迁移的通用限制

CDM以批量迁移为主,仅支持有限的数据库增量迁移,不支持数据库实时增量迁移,推荐使用数据复制服务(DRS)来实现数据库增量迁移到RDS。

CDM支持的数据库整库迁移,仅支持数据表迁移,不支持存储过程、触发器、函数、视图等数据库对象迁移。其中视图会被当做表进行迁移。

CDM仅适用于一次性将数据库迁移到云上的场景,包括同构数据库迁移和异构数据库迁移,不适合数据同步场景,比如容灾、实时同步。

自测题

与云数据库相比,自建的MySQL数据库拥有更多的运维成本和运维工作量。(对)

以下哪项不是传统自建数据库的缺点?(需要对业务数据进行查询)

以下哪种迁移场景选择CDM最为合适?(实现hadoop大数据迁移至云数据仓库)

DRS支持哪些网络下的数据库迁移?(VPC网络、VPN网络、公网网络、专线网络)

对OBS桶的数据库文件进行备份迁移时,以下操作正确的是?(OBS桶所在区域必须跟实例所在区域相同;支持低版本的数据库备份文件在高版本实例数据库上进行还原;待还原数据库名称,必须跟备份文件中数据库名称一致)

MySQL本地数据库迁移实验细节

1. 准备环境

点击上方的红色按钮——预置实验环境

2. 数据库迁移

服务列表

数据库

云数据库RDS

购买数据库实例

计费方式:按需计费

区域:华北-北京四

实例名称:默认

选择数据库版本:MySQL5.7

实例类型:单机

储存类型:SSD云盘

可用区:可用区二

时区:UTC+08:00

性能规格:通用型,配置为2核4G

虚拟私有云:vpc-rds-mysql

端口:3306

密码:Seetraum123@

控制台

服务列表

计算

弹性云服务器ECS

打开桌面的“Xfce”终端,输入命令ssh root@ECS公网IP

输入yes

输入密码Huawei@123,输入的密码不会显示

使用MySQL命令 mysql -u root -h ECS私网IP -p -e “create database loadtest”

输入密码Huawei@123,输入的密码不会显示

使用命令 sysbench --test=/usr/share/sysbench/tests/include/oltp_legacy/oltp.lua --db-driver=mysql --mysql-db=loadtest --mysql-user=root --mysql-password=Huawei@123 --mysql-port=3306 --mysql-host=ECS私网IP --oltp-tables-count=10 --oltp-table-size=10000 --num-threads=20 prepare

使用命令 sysbench --test=/usr/share/sysbench/tests/include/oltp_legacy/insert.lua --db-driver=mysql --mysql-db=loadtest --mysql-user=root --mysql-password=Huawei@123 --mysql-port=3306 --mysql-host=ECS私网IP --oltp-tables-count=10 --oltp-table-size=1000 --max-time=3600 --max-requests=0 --num-threads=10 --report-interval=3 --rate=20 --forced-shutdown=1 run

新打开一个命令行窗口

输入命令 ssh root@ECS公网IP

输入密码 Huawei@123

使用命令 top

使用Ctrl+C 退出top命令

使用iostat -d vda vdb -m 1 10

使用Ctrl+C 退出命令

服务列表

数据库

数据复制服务DRS

创建迁移任务

创建迁移任务

区域:华北-北京四

任务名称:默认

任务异常自动结束时间(天):14

数据流动方向:入云

源数据库引擎:MySQL

目标数据库引擎:MySQL

网络类型: 公网网络(下面那个我同意点上)

目标数据库实例:选择我们创建的RDS

目标库读写设置:读写

迁移模式:“全量+增量”

源库信息:

IP地址或域名:123.60.212.165

端口:3306

数据库用户名:root

数据库密码:Huawei@123

SSL安全连接:关闭

等待实例创建成功后,点击下方的测试连接

目标库信息:

数据库实例名称:默认

数据库用户名:root

数据库密码:Seetraum123

所有Definer迁移到该用下:是

点击测试连接

确认所有备注

迁移对象:全部迁移

弹出提示:忽略,继续下一步

全部检查通过后,单击下一步

如果 max_connections检查不一致,可直接忽略,进行下一步。

启动时间:立即启动

单击启动任务

确认协议

启动任务

数据级对比:

行数对比,立即启动

勾选loadtest下某个数据,点击蓝色的“>>”选入右侧,再点击页面中的“是”创建对比任务。

内容对比,DRS侧计算,立即启动

勾选loadtest下某个数据,点击蓝色的“>>”选入右侧,再点击页面中的“是”创建对比任务。

同步骤2.1

3. 业务割接

在终端窗口使用命令 sysbench --test=/usr/share/sysbench/tests/include/oltp_legacy/insert.lua --db-driver=mysql --mysql-db=loadtest --mysql-user=root --mysql-password=Seetraum123@ --mysql-port=3306 --mysql-host=RDSIP地址 --oltp-tables-count=10 --oltp-table-size=1000 --max-time=3600 --max-requests=0 --num-threads=20 --report-interval=4 --rate=20 --forced-shutdown=1 run

Ctrl + C结束上述命令

服务列表

数据库

数据复制服务DRS

结束

确定

可能会遇到的题目

判断题

与云数据库相比,自建的MySQL数据库拥有更多的运维成本和运维工作量(True)

在RDS的备份策略中,可以设置备份时间段为2:30-3:30(False)

DAS是一个可视化的数据库管理工具,可以支持ECS自建库实例的数据库管理(True)

数据库管理服务DAS支持华为云跨Region访问(False)

当主机发生故障时,系统无法自动将迁移实例或者同步实例切换到备机继续执行任务(False)

创建好MySQL云数据库后可以更换成PostgreSQL云数据库(False)

创建RDS备份一定会收取额外的费用(false)

单选题

以下哪项不是云数据库带来的经济效益(使用免费)

以下哪项是使用mysqldump迁移工具的优点(设置完成后传输无人值守,自动完成)

在传统的数据库迁移方案中,由于变动表结构而迁移数据库,以下哪种方法适用于该场景(数据库直接导出,拷贝文件到新服务器,在新服务器上导入)

以下哪个备份工具支持增量备份(Navicat)

以下哪个RDS的参数是指系统的字符集(character_set_server)

以下哪条命令是用来删除数据库的(drop database XXX)

以下哪项不是传统自建数据库的缺点(需要对业务数据进行查询)

关于DRS的在线同步特性,以下哪项不正确的是(支持MySQL与MangoDB的在线同步)

CDM创建成功后,以下哪项集群配置是无法修改的(更改集群规格)

以下哪项不是DRS的特点(无需手动导入导出数据)

以下哪个不属于DRS预检查失败的修复方法(对数据正确性进行检查)

以下哪条命令可以用来登录MySQL数据库(mysql -u root -p)

关于传统主从结构数据库迁移步骤,以下选项正确的是(搭建主从关系–>使用mysql导出源数据库数据–>使用rsync传输到目标库–>导入数据到目标库)

以下哪项服务可以创建Redis数据库实例(DCS)

关于创建DRS迁移任务的步骤,以下哪项是正确的(创建迁移任务–>配置源库及目标库信息–>设定迁移用户及对象–>进行预检查)

多选题

可以用哪些方式在linux上安装MySQL数据库服务器(下载rpm安装集合包,解压后进行安装;下载yum源,使用yum命令在线安装)

以下哪些操作可以在DAS中执行(导入sql文件;用select命令查询数据;导出表结构)

RDS MySQL提供下面哪些级别的高可用服务(同AZ;跨AZ)

在DRS迁移中,若目标库为RDS,以下哪些目标库信息是必填的(数据库用户名;数据库密码)

以下哪些是云数据迁移CDM所支持的数据源(OBS;Elasticsearch;DWS;MRS HDFS)

可以对已创建好的RDS MySQL数据库实例做哪些操作(创建备份;创建只读;创建灾备;购买相同配置)

在MySQL数据库迁移中,以下哪些服务或产品要收取费用(RDS;DRS;CDM)

以下哪些情况会考虑使用ECS自建MySQL数据库(使用super权限,完全控制数据库的访问和管理;对服务器自行进行备份,复制和集群的管理)

在创建DRS迁移任务中,可以选择哪些迁移模式(全量;全量+增量)

对OBS桶的数据库文件进行备份迁移时,以下操作正确的是?(OBS桶所在区域必须跟实例所在区域相同;支持低版本的数据库备份文件在高版本实例数据库上进行还原;待还原数据库名称,必须跟备份文件中数据库名称一致)

DAS可以对以下哪些数据库进行管理(ECS自建的MySQL数据库;RDS云数据库;DDS云数据库)

在DRS出云迁移下,RDS MySQL源库的实例类型可以是(单机实例;主备实例;只读实例)

以下哪些操作在RDS备份策略中可以进行修改(关闭自动备份;设置备份保留天数;设置备份的周期)

在DRS迁移中设置源库信息时,以下哪些可能是测试连接失败的原因(数据库账号不允许远程连接;密码输入错误)

MySQL 云数据迁移 CDM 数据库

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Chrome插件英雄榜 064《浮图秀》优雅查看B站视频封面
下一篇:2020年Redis面试题总结(30道题含答案解析)
相关文章