RDS 云关系型数据库解析与实践| 学习笔记(三)

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 快速学习 RDS 云关系型数据库解析与实践

开发者学堂课程【关系型数据库 ACP 认证课程:快速学习 RDS 云关系型数据库解析与实践】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/927/detail/14618


RDS 云关系型数据库解析与实践


三、RDS 的数据迁移

1、数据迁移的概述

迁入就是将原实例、本地的迁移到 RDS 上,实例之间进行数据的复制,RDS 提供实例间数据库迁移的,DTS 提供数据传输服务。在云上,在做数据库迁移时,无论是迁入迁出,都是 DTS 来做。数据迁入有几种方法。

(1)通过 mysqldump 导出逻辑备份,导出以后 RDS 里面用纯传统的方式,DMS,执行 mysqldump 文件,执行. sql 文件,数据就过去了。也可以用 DTS 来做。本地机房做一个利旧,将本地机房做备份用,将 RDS 的物理备份或逻辑备份下载下来,下载下来以后先传到 OSS 里面,通过 OSS 进行下载,下载完成以后,在本地机房执行就可以。数据库迁移以前做比较麻烦,后来有了 DTS 数据传输服务以后,现在数据迁移变得特别简单。

image.png


2、数据迁移的两种方式

阿里云迁移工具的 DTS,支持很多的数据库。阿里云的迁移工具无论是 MySQL、SqlServer、Oracle 常见的数据库,里面有很多数据库 DTS 都是支持的,具体那些版本,比如 SqlServer 08、SqlServer 22、SqlServer 12、SqlServer 14、SqlServer 19等等。还有官营数据库和非官营数据库都是支持的,不仅仅是表格列的这些,这些只是一官营数据库来说一些比较常用的,DTS 是都支持的,版本可以查帮助文档里面。非阿里云的迁移,像 MySQ L就用 mysqldump,SqlServer 就用SSMS,Oracle 就用 RMAN。其实用的特别多的就是DTS,哪怕迁移失败,也会告诉你那一块迁移失败。

image.png


3、数据迁移:mysqldump 逻辑导入

Mysqldump 直接把一行命令把库当下来以后,导出一个 sql,导出 sql 以后在进行恢复,但是 mysqldump 会有一个问题,问题就是如果想使用 mysqldump,一般数据量不大的情况或者允许停机时间比较长的情况下,因为做 mysqldump 的时候数据库不能在启用的过程中,如果业务一直不停,还是在写库的时候、在做mysqldump 的时候,里面的文件就不全了,所以必须要停机、听业务,把业务停掉之后才能做 mysqldump。数据量比较大的情况,用传统的工具做打包、上传、在恢复,停业务的时间就非常非常的长,所以不太适合。最优的方式还是不停业务在线迁移的情况下,可以发通知,比如说,我们最近在做迁移,可能会产生一些不稳定的现象,因为他们是一个内部的系统,发通知是为了稳妥。

image.png

4、数据迁入:DTS 不停机迁入

在迁移的过程中用 DTS 在线迁移,是有进程在读取源库里面的内容的,对业务是有一点点影响的,但是业务不会停,所以在不停业务的情况下,先迁移结构,把结构迁移完之后在迁移全量,全量迁移其实是在某一个时间节点,比如开始创建一个时间节点,打一个标记,从这个节点往前推,这些都是全量。迁移玩全量之后,对 DTS 做一个监控就好了,哪怕报错了也可以继续修改,然后点就绪任务就好了,这样就可以把迁移整体的周期拉长,业务不会停,迁移完成之后就自动迁移增量,增量迁移会很快,因为源数据很大,但是新增确并不多所以就很快,迁移完成之后源库和新的目的库就在保持一个数据的同步,保持数据同步以后,到了时间点的时候,只要把云上的这套业务的数据库地址,都已经提起那配好的,只要把域名切过去就行,原环境停掉之后,直接把域名剪切到新的环境里,迁移的过程中可以对新的业务做一些测试等等。

image.png


5、数据迁出:下载备份+本地数据导入

本地数据导入的两种方式:

(1)利用物理备份文件恢复到自建数据库,RDS 使用开源软件 Xtrabackup 对MySQL 数据库进行实例级别的全量物理备份,用户需要下载改软件,并使用改软件进行恢复。

(2)利用逻辑备份文件迁移恢复到自建数据库。

image.png

6、数据迁移:DTS 不停机迁出

DTS 可以进行不停机的迁出,也是结构迁移、全量迁移、增量迁移对于 RDS 源端需要的是只读权限。迁入和迁出有区别,做迁入是本地库到云上面,然后云到本地是迁出。迁入:本地迁移到云上面需要的权限是 select 权限,增量迁移需要的权限要高一些,比如 select、super、replication slave、replication client 等。一般目的端需要的是读写权限,因为不仅要读还需要写。迁出:迁出源端是 RDS,是云上,目的端是本地库,所以 RDS 只需要只读权限就可以了,目的端需要的是读写权限。


四、演示操作

1、迁移数据库

启动服务器,里面有一个 alisql 的表,alisql 里面是有一些表的,然后把这些表迁移到云数据库 RDS 上面。

image.png

迁移比较简单,用 DTS。


(1)先创建一个迁移任务

image.png

①实例类型:可以选择在 ECS 上自建

②数据库类型:选择 MySQL

③端口:3306(检查端口是否打开)

④输入数据库账号和密码

测试连接

⑥实例类型:选择RDS实例

⑦输入数据库账号和密码


(2)创建一个账号

image.png

①数据库账号:aliuser

②账号类型:选择普通账号

③输入密码和确认密码

④点击确定

⑤设置读写权限


(3)创建数据库

image.png

①数据库名称:alidb

②授权账号:选择 aliuser 普通账号

③点击确定

就已经测试好,DT S已经和云服务器 ECS 里面自建的 MySQL 连接测试登录成功。建议都做一个测试。


(4)白名单

新创建的 MySQL 数据库需要设置白名单。

添加白名单

image.png

②分辑名称:test

③辑内白名单:0.0.0.0/0

④点击确定

image.png(5)DTS 会自动添加 IP 地址段到 RDS 上

①点击 alisql 迁移

②点击大括号 >

③其他的选择默认就可以了,点击预检查预启动


(6)预检查点击下一步

image.png

①选择数据传输

②点击立即购买并启动

image.png

DTS 迁移会把迁移失败的放在最上面,状态显示为迁移中,先迁移结构在迁移全量。DTS 新版本会自动刷新,在结构迁移中可以看到迁移的状态,可以看到表和全量的数据有没有迁。


迁移image.png完成后会显示以迁移多少行,然后我们可以和源库进行比对。完成之后会将整个库都迁移过来。


(7)登录实例

①输入数据库类型:选择 MySQL

②输入数据库账号和数据库密码

③点击登录

然后点击查询,点击左侧就可以知道数据都已经迁移过来了。

image.png


1、数据库备份演示

以云服务器 ECS 自建 MySQL 为例当做源端,目的端提前准备好一个 RDS 实例。先做迁移,先把表迁移过来,在里面做一些数据,然后直接用迁移的表做数据,然后备份、删除。

(1)手动备份

①点击左侧备份与恢复

image.png

②点击备份实例

image.png

备份方式:选择快照备份

image.png


(2)备份设置

①点击备份设置

image.png

点击编辑

然后选择要备份的天数、时间等。

(3)日志备份

①点击编辑

image.png

选择保留时长、空间、个数、等。


(4)点击右上角可以查看任务进度

进度表

image.png


3、备份恢复

(1)备份完成以后点击数据恢复


 image.png


(2)创建一个新的实例

计费方式:选择按量付费

还原方式:点击按时间点

选择时间(精确到秒级)


image.png 


4、删除数据

(1)选择要删除的表

image.png

(2)点击选择管理表

(3)点击删除表

 

相关文章
|
4月前
|
关系型数据库 MySQL 数据库
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
|
4月前
|
SQL 关系型数据库 数据库
数据库空间之谜:彻底解决RDS for SQL Server的空间难题
【8月更文挑战第16天】在管理阿里云RDS for SQL Server时,合理排查与解决空间问题是确保数据库性能稳定的关键。常见问题包括数据文件增长、日志文件膨胀及索引碎片累积。利用SQL Server的动态管理视图(DMV)可有效监测文件使用情况、日志空间及索引碎片化程度。例如,使用`sp_spaceused`检查文件使用量,`sys.dm_db_log_space_usage`监控日志空间,`sys.dm_db_index_physical_stats`识别索引碎片。同时,合理的备份策略和文件组设置也有助于优化空间使用,确保数据库高效运行。
96 2
|
4月前
|
关系型数据库 数据库 数据安全/隐私保护
"告别繁琐!Python大神揭秘:如何一键定制阿里云RDS备份策略,让数据安全与效率并肩飞,轻松玩转云端数据库!"
【8月更文挑战第14天】在云计算时代,数据库安全至关重要。阿里云RDS提供自动备份,但标准策略难以适应所有场景。传统手动备份灵活性差、管理成本高且恢复效率低。本文对比手动备份,介绍使用Python自定义阿里云RDS备份策略的方法,实现动态调整备份频率、集中管理和智能决策,提升备份效率与数据安全性。示例代码演示如何创建自动备份任务。通过自动化与智能化备份管理,支持企业数字化转型。
107 2
|
4月前
|
存储 C# 关系型数据库
“云端融合:WPF应用无缝对接Azure与AWS——从Blob存储到RDS数据库,全面解析跨平台云服务集成的最佳实践”
【8月更文挑战第31天】本文探讨了如何将Windows Presentation Foundation(WPF)应用与Microsoft Azure和Amazon Web Services(AWS)两大主流云平台无缝集成。通过具体示例代码展示了如何利用Azure Blob Storage存储非结构化数据、Azure Cosmos DB进行分布式数据库操作;同时介绍了如何借助Amazon S3实现大规模数据存储及通过Amazon RDS简化数据库管理。这不仅提升了WPF应用的可扩展性和可用性,还降低了基础设施成本。
92 0
|
5月前
|
消息中间件 关系型数据库 数据库
实时计算 Flink版操作报错合集之在使用RDS数据库作为源端,遇到只能同步21个任务,是什么导致的
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
26天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
34 1
|
28天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
39 4
|
2月前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
69 3
Mysql(4)—数据库索引
|
1月前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
192 1
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
98 2