开发者学堂课程【关系型数据库 ACP 认证课程:【视频】-RDS 云关系型数据库解析与实践】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/927/detail/14619
【视频】-RDS 云关系型数据库解析与实践
(2)库表级恢复
单库单表恢复:通过备份指定恢复误删的数据库或表,快速恢复MySQL的数据。
在备份恢复里的选项里面,有一个库表级别的备份恢复,选择以后,可以选择一个指定的备份集,恢复误删出的数据库或者表。在备份恢复里面还有备份设置,自动备份可以选择备份数据,备份数据保留几天、备份的周期、备份的时间(时间一定要选择事业的低峰期去做)。日志备份的保留时间、单库单表功能是否开启,点击开启之后就不能在关了,然后再点击确定。这个备份是买的RDS实例,是有一定免费备份的空间额度的,所以备份这个功能是免费的,但是会收存储空间的费用。存储空间的费用是按照OSS这个空间的费用来算的,会有一个额度或者比例,超出额度会计费,也可以选择买一些存储包。
(3)跨地域恢复
跨地域备份完成后,可以使用备份文件将数据恢复到原实例地域或本地域的新实例上。原实例开启数据库代理且没有高权限账号,回复的新实例可能需要重置面才能连接。跨地域的备份不支持恢复到原实例。
三、RDS 的数据迁移
1、数据迁移的概述
迁入就是将原实例、本地的迁移到RDS上,实例之间进行数据的复制,RDS提供实例间数据库迁移的,DTS提供数据传输服务。在云上,在做数据库迁移时,无论是迁入迁出,都是DTS来做。数据迁入有几种方法。
(1)通过mysqldump导出逻辑备份,导出以后RDS里面用纯传统的方式,DMS,执行mysqldump文件,执行.sql文件,数据就过去了。也可以用DTS来做。本地机房做一个利旧,将本地机房做备份用,将RDS的物理备份或逻辑备份下载下来,下载下来以后先传到OSS里面,通过OSS进行下载,下载完成以后,在本地机房执行就可以。数据库迁移以前做比较麻烦,后来有了DTS数据传输服务以后,现在数据迁移变得特别简单。
2、数据迁移的两种方式
阿里云迁移工具的DTS,支持很多的数据库。阿里云的迁移工具无论是MySQL、SqlServer、Oracle常见的数据库,里面有很多数据库DTS都是支持的,具体那些版本,比如SqlServer 08、SqlServer 22、SqlServer 12、SqlServer 14、SqlServer 19等等。还有官营数据库和非官营数据库都是支持的,不仅仅是表格列的这些,这些只是一官营数据库来说一些比较常用的,DTS是都支持的,版本可以查帮助文档里面。非阿里云的迁移,像MySQL就用mysqldump,SqlServer就用SSMS,Oracle就用RMAN。其实用的特别多的就是DTS,哪怕迁移失败,也会告诉你那一块迁移失败。
3、数据迁移:mysqldump 逻辑导入
Mysqldump直接把一行命令把库当下来以后,导出一个sql,导出sql以后在进行恢复,但是mysqldump会有一个问题,问题就是如果想使用mysqldump,一般数据量不大的情况或者允许停机时间比较长的情况下,因为做mysqldump的时候数据库不能在启用的过程中,如果业务一直不停,还是在写库的时候、在做mysqldump的时候,里面的文件就不全了,所以必须要停机、听业务,把业务停掉之后才能做mysqldump。数据量比较大的情况,用传统的工具做打包、上传、在恢复,停业务的时间就非常非常的长,所以不太适合。最优的方式还是不停业务在线迁移的情况下,可以发通知,比如说,我们最近在做迁移,可能会产生一些不稳定的现象,因为他们是一个内部的系统,发通知是为了稳妥。
4、数据迁入:DTS 不停机迁入
在迁移的过程中用DTS在线迁移,是有进程在读取源库里面的内容的,对业务是有一点点影响的,但是业务不会停,所以在不停业务的情况下,先迁移结构,把结构迁移完之后在迁移全量,全量迁移其实是在某一个时间节点,比如开始创建一个时间节点,打一个标记,从这个节点往前推,这些都是全量。迁移玩全量之后,对DTS做一个监控就好了,哪怕报错了也可以继续修改,然后点就绪任务就好了,这样就可以把迁移整体的周期拉长,业务不会停,迁移完成之后就自动迁移增量,增量迁移会很快,因为源数据很大,但是新增确并不多所以就很快,迁移完成之后源库和新的目的库就在保持一个数据的同步,保持数据同步以后,到了时间点的时候,只要把云上的这套业务的数据库地址,都已经提起那配好的,只要把域名切过去就行,原环境停掉之后,直接把域名剪切到新的环境里,迁移的过程中可以对新的业务做一些测试等等。
5、数据迁出:下载备份+本地数据导入
本地数据导入的两种方式:
(1)利用物理备份文件恢复到自建数据库,RDS使用开源软件Xtrabackup对MySQL数据库进行实例级别的全量物理备份,用户需要下载改软件,并使用改软件进行恢复。
(2)利用逻辑备份文件迁移恢复到自建数据库。
6、数据迁移:DTS 不停机迁出
DTS可以进行不停机的迁出,也是结构迁移、全量迁移、增量迁移对于RDS源端需要的是只读权限。迁入和迁出有区别,做迁入是本地库到云上面,然后云到本地是迁出。迁入:本地迁移到云上面需要的权限是select权限,增量迁移需要的权限要高一些,比如select、super、replication slave、replication client等。一般目的端需要的是读写权限,因为不仅要读还需要写。迁出:迁出源端是RDS,是云上,目的端是本地库,所以RDS只需要只读权限就可以了,目的端需要的是读写权限。
四、演示操作
1、迁移数据库
启动服务器,里面有一个alisql的表,alisql里面是有一些表的,然后把这些表迁移到云数据库RDS上面。
迁移比较简单,用DTS。
(1)先创建一个迁移任务
①实例类型:可以选择在ECS上自建
②数据库类型:选择MySQL
③端口:3306(检查端口是否打开)
④输入数据库账号和密码
⑤测试连接
⑥实例类型:选择RDS实例
⑦输入数据库账号和密码
(2)创建一个账号
①数据库账号:aliuser
②账号类型:选择普通账号
③输入密码和确认密码
④点击确定
⑤设置读写权限