【视频】-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/14619


【视频】-RDS 云关系型数据库解析与实践


(2)库表级恢复

单库单表恢复:通过备份指定恢复误删的数据库或表,快速恢复MySQL的数据。

image.png在备份恢复里的选项里面,有一个库表级别的备份恢复,选择以后,可以选择一个指定的备份集,恢复误删出的数据库或者表。在备份恢复里面还有备份设置,自动备份可以选择备份数据,备份数据保留几天、备份的周期、备份的时间(时间一定要选择事业的低峰期去做)。日志备份的保留时间、单库单表功能是否开启,点击开启之后就不能在关了,然后再点击确定。这个备份是买的RDS实例,是有一定免费备份的空间额度的,所以备份这个功能是免费的,但是会收存储空间的费用。存储空间的费用是按照OSS这个空间的费用来算的,会有一个额度或者比例,超出额度会计费,也可以选择买一些存储包。

(3)跨地域恢复

image.png跨地域备份完成后,可以使用备份文件将数据恢复到原实例地域或本地域的新实例上。原实例开启数据库代理且没有高权限账号,回复的新实例可能需要重置面才能连接。跨地域的备份不支持恢复到原实例。

 

三、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是都支持的,版本可以查帮助文档里面。非阿里云的迁移,像MySQL就用mysqldump,SqlServer就用SSMS,Oracle就用RMAN。其实用的特别多的就是DTS,哪怕迁移失败,也会告诉你那一块迁移失败。

image.png3、数据迁移:mysqldump 逻辑导入

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

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

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

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

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

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

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

image.png6、数据迁移: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

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

③输入密码和确认密码

④点击确定

⑤设置读写权限

相关文章
|
10天前
|
并行计算 Java 数据处理
SpringBoot高级并发实践:自定义线程池与@Async异步调用深度解析
SpringBoot高级并发实践:自定义线程池与@Async异步调用深度解析
76 0
|
15天前
|
数据采集 人工智能 安全
数据治理的实践与挑战:大型案例解析
在当今数字化时代,数据已成为企业运营和决策的核心资源。然而,随着数据量的爆炸性增长和数据来源的多样化,数据治理成为了企业面临的重要挑战之一。本文将通过几个大型案例,探讨数据治理的实践、成效以及面临的挑战。
数据治理的实践与挑战:大型案例解析
|
9天前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
43 6
|
10天前
|
人工智能 自然语言处理 前端开发
SpringBoot + 通义千问 + 自定义React组件:支持EventStream数据解析的技术实践
【10月更文挑战第7天】在现代Web开发中,集成多种技术栈以实现复杂的功能需求已成为常态。本文将详细介绍如何使用SpringBoot作为后端框架,结合阿里巴巴的通义千问(一个强大的自然语言处理服务),并通过自定义React组件来支持服务器发送事件(SSE, Server-Sent Events)的EventStream数据解析。这一组合不仅能够实现高效的实时通信,还能利用AI技术提升用户体验。
55 2
|
9天前
|
SQL 关系型数据库 MySQL
Mysql学习笔记(三):fetchone(), fetchmany(), fetchall()详细总结
MySQL中用于数据检索的`fetchone()`, `fetchmany()`, `fetchall()`函数的功能、SQL语句示例和应用场景。
24 3
Mysql学习笔记(三):fetchone(), fetchmany(), fetchall()详细总结
|
9天前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
27 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
9天前
|
设计模式 存储 数据库连接
PHP中的设计模式:单例模式的深入解析与实践
在PHP开发中,设计模式是提高代码可维护性、扩展性和复用性的关键技术之一。本文将通过探讨单例模式,一种最常用的设计模式,来揭示其在PHP中的应用及优势。单例模式确保一个类仅有一个实例,并提供一个全局访问点。通过实际案例,我们将展示如何在PHP项目中有效实现单例模式,以及如何利用这一模式优化资源配置和管理。无论是PHP初学者还是经验丰富的开发者,都能从本文中获得有价值的见解和技巧,进而提升自己的编程实践。
|
10天前
|
安全 编译器 PHP
PHP 7新特性深度解析与实践
【10月更文挑战第7天】在这篇文章中,我们将探索PHP 7带来的新特性和改进,以及如何利用这些新工具来提升你的代码效率。从性能优化到语法简化,再到错误处理的改进,本文将带你深入了解PHP 7的核心变化,并通过实际代码示例展示如何将这些新特性应用到日常开发中。无论你是PHP新手还是资深开发者,这篇文章都将为你提供有价值的见解和技巧。
25 6
|
8天前
|
设计模式 算法 PHP
PHP中的设计模式:策略模式的深入解析与实践
【10月更文挑战第9天】 策略模式是一种行为设计模式,它允许在运行时选择算法的行为。在PHP开发中,通过使用策略模式,我们可以轻松切换算法或逻辑处理方式而无需修改现有代码结构。本文将深入探讨策略模式的定义、结构以及如何在PHP中实现该模式,并通过实际案例展示其应用价值和优势。
11 1
|
9天前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
20 1

推荐镜像

更多