

# 删除数据库实例
<a name="USER_DeleteInstance"></a>

**警告**  
删除数据库实例会永久移除其所有数据，并可能影响相关资源。继续操作之前，请确保已备份所有重要数据。

您可以使用 AWS 管理控制台、AWS CLI 或 RDS API 删除数据库实例。如果要删除 Aurora 数据库集群中的数据库实例，请参阅[删除 Aurora 数据库集和数据库实例](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_DeleteCluster.html)。

**Topics**
+ [删除数据库实例的先决条件](#USER_DeleteInstance.DeletionProtection)
+ [删除数据库实例时的注意事项](#USER_DeleteInstance.Snapshot)
+ [删除数据库实例](#USER_DeleteInstance.Deleting)

## 删除数据库实例的先决条件
<a name="USER_DeleteInstance.DeletionProtection"></a>

在尝试删除数据库实例之前，确保删除保护已关闭。原定设置情况下，对于使用控制台创建的数据库实例，删除保护处于开启状态。

如果您的数据库实例开启了删除保护，则可以通过修改实例设置将该功能关闭。在数据库详细信息页面中选择**修改**或调用 [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) 命令。此操作不会导致中断。有关更多信息，请参阅 [数据库实例的设置](USER_ModifyInstance.Settings.md)。

## 删除数据库实例时的注意事项
<a name="USER_DeleteInstance.Snapshot"></a>

删除数据库实例会影响实例的可恢复性、备份可用性和只读副本状态。请考虑以下问题：
+ 您可以选择是否创建最终数据库快照。您有以下选项：
  + 如果拍摄最终快照，则可以使用此快照来还原删除的数据库实例。RDS 会保留最终快照和您之前拍摄的任何手动快照。如果数据库实例不是 `Available` 状态，则无法为其创建最终数据库快照。有关更多信息，请参阅 [查看 Amazon RDS数据库实例状态](accessing-monitoring.md#Overview.DBInstance.Status)。
  + 如果您不创建最终快照，则没有稍后可以还原的最终快照。如果您决定还原已删除的数据库实例，请保留自动备份或使用较早的手动快照将数据库实例还原到该较早快照的时间点。
+ 您可以选择是否保留自动备份。您有以下选项：
  + 如果您保留自动备份，RDS 会在您删除数据库实例时对该实例有效的保留期内保留这些备份。您可以使用自动备份将数据库实例还原到保留期内的某个时间，但不能还原到保留期后的某个时间。无论是否创建最终数据库快照，保留期都有效。要删除保留的自动备份，请参阅[删除保留的自动备份](USER_WorkingWithAutomatedBackups-Deleting.md)。
  + 保留的自动备份和手动快照会一直产生账单费用，直到将其删除为止。有关更多信息，请参阅 [保留成本](USER_WorkingWithAutomatedBackups.Retaining.md#USER_WorkingWithAutomatedBackups.RetentionCosts)。
  + 如果您不保留自动备份，RDS 会删除与您的数据库实例位于同一 AWS 区域中的自动备份。您无法恢复这些备份。如果您的自动备份已复制到另一个 AWS 区域，即使您不选择保留自动备份，RDS 也会保留这些备份。有关更多信息，请参阅 [将自动备份复制到其他 AWS 区域](USER_ReplicateBackups.md)。
+ 当您删除数据库实例时，RDS 不会删除手动数据库快照。有关更多信息，请参阅 [为 Amazon RDS 的单可用区数据库实例创建数据库快照](USER_CreateSnapshot.md)。
+ 如果您想删除所有 RDS 资源，请注意以下资源会产生账单费用：
  + 数据库实例数
  + 数据库快照
  + 数据库集群

  如果您购买了预留实例，则将根据您在购买实例时达成的合同对这些实例进行计费。有关更多信息，请参阅 [Amazon RDS 的预留数据库实例](USER_WorkingWithReservedDBInstances.md)。您可以使用 AWS Cost Explorer 获取所有 AWS 资源的账单信息。有关更多信息，请参阅[使用 AWS Cost Explorer 分析成本](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-what-is.html)。
+ 如果您在同一 AWS 区域中删除具有只读副本的数据库实例，则每个只读副本都会自动提升为独立的数据库实例。有关更多信息，请参阅 [将只读副本提升为独立的数据库实例](USER_ReadRepl.Promote.md)。如果您的数据库实例在不同 AWS 区域中具有只读副本，请参阅[跨区域复制注意事项](USER_ReadRepl.XRgn.md#USER_ReadRepl.XRgn.Cnsdr)以了解与删除跨区域只读副本的源数据库实例相关的信息。
+ 当数据库实例的状态为 `deleting` 时，其 CA 证书值不会显示在 RDS 控制台中或 AWS CLI 命令或 RDS API 操作的输出中。有关 CA 证书的更多信息，请参阅 [使用 SSL/TLS 加密与数据库实例或集群的连接](UsingWithRDS.SSL.md)。
+ 删除数据库实例所需的时间会有所不同，具体取决于备份保留期、删除的数据量、是否拍摄最终快照以及最终快照是增量还是完整快照。即使您不拍摄最终快照，服务也必须执行内部操作以确保数据的一致性。这些操作可能会延长删除时间。它们不能被跳过。在所有操作完成之前，数据库实例的状态一直处于删除状态。为了缩短删除数据库实例所需的时间，我们建议您手动创建快照，然后再删除数据库实例。

## 删除数据库实例
<a name="USER_DeleteInstance.Deleting"></a>

您可以使用 AWS 管理控制台、AWS CLI 或 RDS API 删除数据库实例。您必须执行以下操作：
+ 提供数据库实例的名称
+ 启用或禁用制作实例的最终数据库快照的选项
+ 启用或禁用保留自动备份的选项

**注意**  
当数据库实例启用了删除保护时，您无法删除该实例。有关更多信息，请参阅 [删除数据库实例的先决条件](#USER_DeleteInstance.DeletionProtection)。

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

**删除数据库实例**

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

1. 在导航窗格中，选择 **Databases (数据库)**，然后选择要删除的数据库实例。

1. 对于 ** Actions**，选择 **Delete**。

1. 要为数据库实例创建最终数据库快照，请选择**是否创建最终快照?**。

1. 如果选择创建最终快照，请输入**最终快照名称**。

1. 要保留自动备份，请选择 **Retain automated backups (保留自动备份)**。

1. 在框中输入 **delete me**。

1. 选择 **Delete**。

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

要查找您的账户中数据库实例的实例 ID，请调用 [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) 命令：

```
aws rds describe-db-instances --query 'DBInstances[*].[DBInstanceIdentifier]' --output text
```

要使用 AWS CLI 删除数据库实例，请结合以下选项调用 [delete-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-db-instance.html) 命令：
+ `--db-instance-identifier`
+ `--final-db-snapshot-identifier` 或者 `--skip-final-snapshot`

**Example 有最终快照，但无保留的自动备份**  
对于 Linux、macOS 或 Unix：  

```
aws rds delete-db-instance \
    --db-instance-identifier mydbinstance \
    --final-db-snapshot-identifier mydbinstancefinalsnapshot \
    --delete-automated-backups
```
对于：Windows  

```
aws rds delete-db-instance ^
    --db-instance-identifier mydbinstance ^
    --final-db-snapshot-identifier mydbinstancefinalsnapshot ^
    --delete-automated-backups
```

**Example 有保留的自动备份，但无最终快照**  
对于 Linux、macOS 或 Unix：  

```
aws rds delete-db-instance \
    --db-instance-identifier mydbinstance \
    --skip-final-snapshot \
    --no-delete-automated-backups
```
对于：Windows  

```
aws rds delete-db-instance ^
    --db-instance-identifier mydbinstance ^
    --skip-final-snapshot ^
    --no-delete-automated-backups
```

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

要使用 Amazon RDS API 删除数据库实例，请使用以下参数调用 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBInstance.html) 操作：
+ `DBInstanceIdentifier`
+ `FinalDBSnapshotIdentifier` 或者 `SkipFinalSnapshot`