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

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
云数据库 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)点击删除表

 

相关文章
|
15天前
|
SQL 关系型数据库 MySQL
数据库导入SQL文件:全面解析与操作指南
在数据库管理中,将SQL文件导入数据库是一个常见且重要的操作。无论是迁移数据、恢复备份,还是测试和开发环境搭建,掌握如何正确导入SQL文件都至关重要。本文将详细介绍数据库导入SQL文件的全过程,包括准备工作、操作步骤以及常见问题解决方案,旨在为数据库管理员和开发者提供全面的操作指南。一、准备工作在导
50 0
|
6天前
|
Web App开发 SQL 数据库
使用 Python 解析火狐浏览器的 SQLite3 数据库
本文介绍如何使用 Python 解析火狐浏览器的 SQLite3 数据库,包括书签、历史记录和下载记录等。通过安装 Python 和 SQLite3,定位火狐数据库文件路径,编写 Python 脚本连接数据库并执行 SQL 查询,最终输出最近访问的网站历史记录。
17 4
|
11天前
|
SQL 关系型数据库 MySQL
Go语言项目高效对接SQL数据库:实践技巧与方法
在Go语言项目中,与SQL数据库进行对接是一项基础且重要的任务
28 11
|
10天前
|
SQL 存储 关系型数据库
添加数据到数据库的SQL语句详解与实践技巧
在数据库管理中,添加数据是一个基本操作,它涉及到向表中插入新的记录
|
11天前
|
Rust 前端开发 关系型数据库
Tauri 开发实践 — Tauri 集成本地数据库
本文介绍了在 Tauri 框架中集成本地数据库的几种方案,包括直接绑定 SQLite、使用第三方数据库库和使用 tauri-plugin-sql-api 插件。最终选择了 tauri-plugin-sql-api,因为它集成简单、支持多种数据库类型,并且与 Tauri 框架深度整合,提升了开发效率和安全性。文章详细介绍了如何安装和使用该插件,以及如何编写核心代码实现数据库操作。
53 2
|
14天前
|
SQL JSON 关系型数据库
MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
【10月更文挑战第3天】MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
64 5
|
15天前
|
SQL 关系型数据库 数据库
SQL数据库:核心原理与应用实践
随着信息技术的飞速发展,数据库管理系统已成为各类组织和企业中不可或缺的核心组件。在众多数据库管理系统中,SQL(结构化查询语言)数据库以其强大的数据管理能力和灵活性,广泛应用于各类业务场景。本文将深入探讨SQL数据库的基本原理、核心特性以及实际应用。一、SQL数据库概述SQL数据库是一种关系型数据库
20 5
|
14天前
|
SQL 开发框架 .NET
ASP连接SQL数据库:从基础到实践
随着互联网技术的快速发展,数据库与应用程序之间的连接成为了软件开发中的一项关键技术。ASP(ActiveServerPages)是一种在服务器端执行的脚本环境,它能够生成动态的网页内容。而SQL数据库则是一种关系型数据库管理系统,广泛应用于各类网站和应用程序的数据存储和管理。本文将详细介绍如何使用A
30 3
|
18天前
|
关系型数据库 数据挖掘 数据库
解析数据库联结:应用与实践中的 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 与 CROSS JOIN
解析数据库联结:应用与实践中的 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 与 CROSS JOIN
41 1
|
10天前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:实现过程与关键细节解析an3.021-6232.com
随着互联网技术的快速发展,ASP.NET作为一种广泛使用的服务器端开发技术,其与数据库的交互操作成为了应用开发中的重要环节。本文将详细介绍在ASP.NET中如何连接SQL数据库,包括连接的基本概念、实现步骤、关键代码示例以及常见问题的解决方案。由于篇幅限制,本文不能保证达到完整的2000字,但会确保