今天演练数据库恢复,发现对于一个5G大小的数据库,整个恢复过程时间长达3小时,太长了吧。
步骤如下:
1.采购临时实例,恢复数据到临时实例。(20min)
2.将数据迁移到主实例。(2.6h)
各位,有更快的方法吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在阿里云上进行RDS-MySQL的备份与恢复的速度是由平台决定的,用户无法参与过程加快速度。
数据恢复的流程大致为:
1.创建临时实力
2.从OSS中拉取历史备份的数据
3.将备份的数据恢复到临时实例中
这里会影响恢复速度的主要有3个方面,oss下载备份文件的速度和实例磁盘IO性能,以及数据恢复的速度。oss下载的速度在内网情况下可以理解无限制(大于1G每秒),那么影响你下载速度的就是你的实例的磁盘类型。
建议:
1。使用本地SSD盘的RDS-MySQL。ssd盘有2种,本地SSD盘,云SSD盘。本地SSD就是该实例所在物理机上的物理磁盘,而SSD云盘是SSD OSS集群中的块存储磁盘,两者有比较明显的性能上的差异,本地SSD性能更好。如果对磁盘费用不敏感的话推荐使用本地SSD的RDS-MySQL
2。同VPC内申请SSD ECS使用source导入数据到RDS中。RDS数据在恢复过程,除了下载数据到磁盘消耗时间外,恢复数据也有一定的时间消耗。在预计要变更的时间点前申请号同RDS同一个VPC内的SSD ECS,将平时备份的数据快速导入RDS中也能加快恢复速度。
下载备份可以使用保存在平台中的OSS备份: https://help.aliyun.com/knowledge_detail/97438.html#concept-zql-2c5-vfb?source=5176.11533457&userCode=anf0cabp&type=copy
可以使用日常DBA自己dump的备份,常用的mysqldump方案可以参考这个方案:https://help.aliyun.com/document_detail/96156.html?source=5176.11533457&userCode=anf0cabp&type=copy