

# 管理手动备份
<a name="USER_ManagingManualBackups"></a>

本节介绍如何管理数据库实例和数据库集群的手动备份。

有关为Single-AZ数据库实例创建数据库快照的信息，请参阅[为 Amazon RDS 的单可用区数据库实例创建数据库快照](USER_CreateSnapshot.md)。

有关为多可用区数据库集群创建数据库快照的信息，请参阅[创建 Amazon RDS 的多可用区数据库集群快照](USER_CreateMultiAZDBClusterSnapshot.md)。

有关删除数据库快照的信息，请参阅[删除 Amazon RDS 的数据库快照](USER_DeleteSnapshot.md)。

# 为 Amazon RDS 的单可用区数据库实例创建数据库快照
<a name="USER_CreateSnapshot"></a>

Amazon RDS 创建数据库实例的存储卷快照，并备份整个数据库实例而不仅仅是单个数据库。在单可用区数据库实例上创建此数据库快照会导致 I/O 短暂性停止，可持续数秒至数分钟，具体取决于数据库实例的大小和类。对于 MariaDB、MySQL、Oracle 和 PostgreSQL，多可用区部署的备份期间不会暂停主数据库上的 I/O 活动，因为备份获取自备用数据库。对于 SQL Server，多可用区部署的备份期间将短时间暂停 I/O 活动。

创建数据库快照时，需要识别出将要备份的数据库实例，然后为数据库快照命名，以便稍后从此快照还原。创建快照所用时间因数据库大小而异。由于快照包含整个存储卷，因此，文件 (如临时文件) 的大小也会影响创建快照所需时间。

**注意**  
数据库实例必须处于 `available` 状态才能拍摄数据库快照。  
对于 PostgreSQL 数据库实例，未记录表中的数据可能无法从快照还原。有关更多信息，请参阅“[使用 PostgreSQL 的最佳实践](CHAP_BestPractices.md#CHAP_BestPractices.PostgreSQL)”。

与自动备份不同，手动快照不受备份保留期的限制。快照不会过期。

对于 MariaDB、MySQL 和 PostgreSQL 数据的非常长期的备份，我们建议将快照数据导出到 Amazon S3。如果不再支持数据库引擎的主要版本，则无法从快照还原到该版本。有关更多信息，请参阅“[将 Amazon RDS 的数据库快照数据导出到 Amazon S3](USER_ExportSnapshot.md)”。

您可以使用 AWS 管理控制台​、AWS CLI 或 RDS API 创建数据库快照。

## 控制台
<a name="USER_CreateSnapshot.CON"></a>

**创建数据库快照**

1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台：[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)。

1. 在导航窗格中，选择**快照**。

   将显示**手动快照**列表。

1. 选择**拍摄快照**。

   将显示 **Take DB snapshot (拍摄数据库快照)** 窗口。  
![\[拍摄数据库快照。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/take_db_snapshot.png)

1. 选择您要拍摄快照的**数据库实例**。

1. 输入**快照名称**。

1. 选择**拍摄快照**。

此时将显示**手动快照**列表，其中新数据库快照的状态显示为 `Creating`。在其状态为 `Available` 后，您可以看到其创建时间。

## AWS CLI
<a name="USER_CreateSnapshot.CLI"></a>

使用 AWS CLI 创建数据库快照时，需要识别出将要备份的数据库实例，然后为数据库快照命名，以便稍后从此快照还原。结合以下参数使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-snapshot.html) 命令执行该操作：
+ `--db-instance-identifier`
+ `--db-snapshot-identifier`

在此示例中，您将给名为 *mydbinstance* 的数据库实例创建名为 *mydbsnapshot* 的数据库快照。

**Example**  
对于 Linux、macOS 或 Unix：  

```
1. aws rds create-db-snapshot \
2.     --db-instance-identifier mydbinstance \
3.     --db-snapshot-identifier mydbsnapshot
```
对于：Windows  

```
1. aws rds create-db-snapshot ^
2.     --db-instance-identifier mydbinstance ^
3.     --db-snapshot-identifier mydbsnapshot
```

## RDS API
<a name="USER_CreateSnapshot.API"></a>

使用 Amazon RDS API 创建数据库快照时，需要指定要备份的数据库实例，然后为数据库快照命名，以便稍后从此快照还原。您可以使用具有以下参数的 Amazon RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBSnapshot.html) 命令执行该操作：
+ `DBInstanceIdentifier`
+ `DBSnapshotIdentifier`

# 创建 Amazon RDS 的多可用区数据库集群快照
<a name="USER_CreateMultiAZDBClusterSnapshot"></a>

创建多可用区数据库集群快照时，请确保标识要备份的多可用区数据库集群，然后为数据库集群快照命名，以便稍后从此快照还原。您也可以共享多可用区数据库集群快照。有关说明，请参阅 [共享 Amazon RDS 的数据库快照](USER_ShareSnapshot.md)。

您可以使用 AWS 管理控制台、AWS CLI 或 RDS API 创建多可用区数据库集群快照。

对于非常长期的备份，我们建议将快照数据导出到 Amazon S3。如果不再支持数据库引擎的主要版本，则无法从快照还原到该版本。有关更多信息，请参阅 [将 Amazon RDS 的数据库快照数据导出到 Amazon S3](USER_ExportSnapshot.md)。

## 控制台
<a name="USER_CreateMultiAZDBClusterSnapshot.CON"></a>

**创建数据库集群快照**

1. 登录AWS 管理控制台并通过以下网址打开 Amazon RDS 控制台：[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)。

1. 在导航窗格中，选择 **Databases（数据库）**。

1. 在列表中，请选择要为其创建快照的多可用区数据库集群。

1. 对于**操作**，选择**拍摄快照**。

   将显示 **Take DB snapshot (拍摄数据库快照)** 窗口。

1. 在 **Snapshot name**（快照名称）框中，请输入快照的名称。

1. 选择**拍摄快照**。

**Snapshots**（快照）页面将会显示，其中新多可用区数据库集群快照的状态将显示为 `Creating`。在其状态为 `Available` 后，您可以看到其创建时间。

## AWS CLI
<a name="USER_CreateMultiAZDBClusterSnapshot.CLI"></a>

您可以使用 AWS CLI [create-db-cluster-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster-snapshot.html) 命令来创建多可用区数据库集群快照，该命令带有以下选项：
+ `--db-cluster-identifier`
+ `--db-cluster-snapshot-identifier`

在此示例中，您将为名为 *`mymultiazdbcluster`* 的数据库集群创建名为 *`mymultiazdbclustersnapshot`* 的多可用区数据库集群快照。

**Example**  
对于 Linux、macOS 或 Unix：  

```
1. aws rds create-db-cluster-snapshot \
2.     --db-cluster-identifier mymultiazdbcluster \
3.     --db-cluster-snapshot-identifier mymultiazdbclustersnapshot
```
对于 Windows：  

```
1. aws rds create-db-cluster-snapshot ^
2.     --db-cluster-identifier mymultiazdbcluster ^
3.     --db-cluster snapshot-identifier mymultiazdbclustersnapshot
```

## RDS API
<a name="USER_CreateMultiAZDBClusterSnapshot.API"></a>

您可以使用 Amazon RDS API [CreateDBClusterSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBClusterSnapshot.html) 操作创建多可用区数据库集群快照，并采用以下参数：
+ `DBClusterIdentifier`
+ `DBClusterSnapshotIdentifier`

## 删除多可用区数据库集群快照
<a name="USER_DeleteMultiAZDBClusterSnapshot"></a>

如果不再需要，您可以删除 Amazon RDS 管理的多可用区数据库快照。有关说明，请参阅 [删除 Amazon RDS 的数据库快照](USER_DeleteSnapshot.md)。

# 删除 Amazon RDS 的数据库快照
<a name="USER_DeleteSnapshot"></a>

如果不再需要，您可以删除 Amazon RDS 管理的数据库快照。

**注意**  
要删除 AWS Backup 管理的备份，请使用 AWS Backup 控制台。有关 AWS Backup 的更多信息，请参阅 [https://docs.aws.amazon.com/aws-backup/latest/devguide](https://docs.aws.amazon.com/aws-backup/latest/devguide)。

## 删除数据库快照
<a name="USER_DeleteRDSSnapshot"></a>

您可以使用 AWS 管理控制台、AWS CLI 或 RDS API 删除手动、共享或公共数据库快照。

要删除共享或公共快照，您必须登录到拥有快照的 AWS 账户。

如果您有要删除的自动数据库快照，但不希望删除数据库实例，请将数据库实例的备份保留期更改为 0。当更改生效时，自动快照将被删除。如果您不想等到下一个维护期，则可以立即应用更改。完成更改后，您可以通过将备份保留期设置为大于 0 的数字重新启用自动备份。有关修改 数据库实例的信息，请参阅[修改 Amazon RDS 数据库实例](Overview.DBInstance.Modifying.md)。

保留的自动备份和手动快照会一直产生账单费用，直到将其删除为止。有关更多信息，请参阅 [保留成本](USER_WorkingWithAutomatedBackups.Retaining.md#USER_WorkingWithAutomatedBackups.RetentionCosts)。

如果您删除了数据库实例，您可以通过删除数据库实例的自动备份删除其自动数据库快照。有关自动备份的信息，请参阅 [备份简介](USER_WorkingWithAutomatedBackups.md)。

### 控制台
<a name="USER_DeleteSnapshot.CON"></a>

**删除数据库快照**

1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台：[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)。

1. 在导航窗格中，选择**快照**。

   将显示**手动快照**列表。

1. 选择要删除的数据库快照。

1. 对于 **Actions**（操作），选择 **Delete snapshot**（删除快照）。  
![\[删除快照\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/delete-snapshot.png)

1. 在确认页面上选择 **Delete (删除)**。  
![\[确认快照删除\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/delete-snapshot-confirm.png)

### AWS CLI
<a name="USER_DeleteSnapshot.CLI"></a>

您可以使用 AWS CLI 命令 [delete-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-db-snapshot.html) 删除数据库快照。

以下选项用于删除数据库快照。
+ `--db-snapshot-identifier` – 数据库快照的标识符。

**Example**  
以下代码删除 `mydbsnapshot` 数据库快照。  
对于 Linux、macOS 或 Unix：  

```
1. aws rds delete-db-snapshot \
2.     --db-snapshot-identifier mydbsnapshot
```
对于：Windows  

```
1. aws rds delete-db-snapshot ^
2.     --db-snapshot-identifier mydbsnapshot
```

### RDS API
<a name="USER_DeleteSnapshot.API"></a>

您可以使用 Amazon RDS API 操作 [DeleteDBSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBSnapshot.html) 删除数据库快照。

以下参数用于删除数据库快照。
+ `DBSnapshotIdentifier` – 数据库快照的标识符。