我想删除 Amazon Aurora 数据库集群。但是,我收到了一条错误消息,或者,删除选项在 Amazon Relational Database Service (Amazon RDS) 控制台中不可用(显示为灰色)。
解决方案
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
如果删除 Aurora 数据库集群的选项不可用,则表明集群中存在必须先删除的数据库实例。
**注意:**如果您使用 Amazon RDS 控制台来删除数据库实例,则当集群为空时,Amazon RDS 会自动将其删除。
删除所有实例后,您可以使用 Amazon RDS 控制台或 AWS CLI 删除空集群。
一个数据库集群只能有一个写入器实例和至少一个读取器实例或只读副本。删除读取器实例时,不会影响写入器实例和集群。如果删除写入器实例,Aurora 会自动将读取器实例提升为写入器实例。这种失效转移操作会导致停机。
如果您在删除集群时收到错误,请根据收到的错误消息执行以下故障排除操作。
“Deletion protection option enabled”(已启用删除保护选项)错误
如果您为集群激活了删除保护,则可能会收到以下错误:
“此数据库已启用删除保护选项,要删除最后一个 Aurora 数据库实例,请修改 Aurora 集群并禁用删除保护”。
要解决此问题,请完成以下步骤:
- 打开 Amazon RDS 控制台。
- 在导航窗格中,选择 Databases(数据库),然后选择集群。
- 选择 Actions(操作),然后选择 Modify cluster(修改集群)。
- 选择 Disable deletion protection(禁用删除保护),然后选择 Continue(继续)。
- 选择 Apply immediately(立即应用)。
AWS CLI 错误“Contains DB instances in non-deleting state”(包含处于非删除状态的数据库实例)
如果您使用 AWS CLI 来删除集群,则可能会收到以下错误:
“调用 DeleteDBCluster 操作时出错 (InvalidDBClusterStateFault): 无法删除集群,它仍包含处于非删除状态的数据库实例”。
此错误表明集群中仍存在必须删除的数据库实例。
AWS CLI 错误“FinalDBSnapshotIdentified cannot be specified”(无法指定 FinalDBSnapshotIdentified)
如果 AWS CLI 在运行删除操作之前无法对数据库集群拍摄最终快照,则您会收到以下错误:
“InvalidParameterCombination: 调用 DeleteDBInstance 操作时出错 (InvalidParameterCombination): 删除集群实例时无法指定 FinalDBSnapshotIdentifier”。
要解决此问题,请在运行 delete-db-cluster 命令时删除 --final-db-snapshot-identifier 选项或使用 --skip-final-snapshot 选项。
如果无法删除全局集群,请运行以下 modify-global-cluster 命令,以停用全局集群中的删除保护:
aws rds modify-global-cluster --global-cluster-identifier example-id --no-deletion-protection --profile example-profile --region example-region
**注意:**请将 example-id 替换为您的全局集群标识符,将 example-profile 替换为您的用户配置文件,将 example-region 替换为您的 AWS 区域。
“Cannot delete the last instance of the read replica”(无法删除只读副本的最后一个实例)错误
如果您要删除的数据库集群为副本,则您会收到以下错误:
“InvalidDBClusterStateFault: 无法删除只读副本数据库集群的最后一个实例。请将数据库集群提升为独立的数据库集群,以便将其删除”。
要解决此问题,请将该集群提升为独立的数据库集群。然后,删除该集群。
相关信息
如何删除或终止 Amazon RDS 资源?
管理 Amazon Aurora 数据库集群