我正在使用AWS RDS进行sql连接。
拥有数据库DB1
现在我希望每天在DB1的10PM IST上自动备份,并且它应该作为另一个数据库DB2立即恢复。
我该如何开始,需要遵循的流程是什么?
我使用ASP .NET MVC,SQL,C#作为技术。
提前致谢
答案 0 :(得分:1)
aws RDS提供自动备份,可以保留(一周)并恢复。
或者您可以使用手动数据库快照,然后从中进行还原。 要自动执行该过程,您可以在cloudwatch上使用预定事件触发器(在您的情况下每晚进行备份,早上进行恢复)并运行lambda函数进行备份然后恢复。请参阅AWS的文档:
Backing Up and Restoring Amazon RDS DB Instances
答案 1 :(得分:0)
正如评论中提到的,我希望您首先知道您需要什么,因为数据库快照和数据库备份是两回事:
DB Snapshot将其视为宝丽来照片。你出去了,你和你的朋友一起玩,有人拍了一张宝丽来或Instagram等等。就是这样。 这是一个即时的时间点 。
除非你对存储阵列快照有一些真正具体的细节,否则你可能最终处于一种称为“ 崩溃不一致 ”的状态
另一方面,数据库备份实际上可以与这些应用程序通信,确保将驻留在内存中的所有数据写入磁盘。这样,您可以确定您的服务器(如果您必须还原它)处于崩溃一致状态和您可以确信您的数据是可用强>
现在为Per AWS Documentation您可以指定备份窗口(自动备份),但会降低数据库的性能。
然后您可以通过API调用或AWS CLI从linux或unix恢复它:
aws rds restore-db-instance-to-point-in-time \
--source-db-instance-identifier mysourcedbinstance \
--target-db-instance-identifier mytargetdbinstance \
--restore-time 2009-10-14T23:45:00.000Z
或者,如果您想使用API,可以使用带有以下参数的Amazon RDS API RestoreDBInstanceToPointInTime
函数:
SourceDBInstanceIdentifier
= mysourcedbinstance
TargetDBInstanceIdentifier
= mytargetdbinstance
RestoreTime
= 2013-10-14T23:45:00.000Z
您可以参考AWS Documentation获取相同的