如何减少 Amazon RDS 数据库实例的预置总存储容量?

上次更新时间:2020 年 6 月 22 日

我想要减少 Amazon Relational Database Service (Amazon RDS) 数据库实例的总分配存储大小。我该如何操作?

简短描述

当创建 Amazon RDS 数据库实例后,您无法修改数据库实例的分配存储大小以减少其使用的总存储空间。要减少数据库实例的存储容量,请创建一个具有较少预置存储大小的新数据库实例。然后,使用以下方法之一将您的数据迁移到这个新的数据库实例:

  • 使用数据库引擎的本机转储和还原方法。
    注意:
    此方法会导致一些停机时间。

  • 使用 AWS Database Migration Service (AWS DMS) 以确保实现最短停机时间。

解决方法

数据库转储和还原

  1. 打开 Amazon RDS 控制台,然后从导航窗格中选择数据库
  2. 选择创建数据库
  3. 启动具有的存储容量比您的现有数据库实例小的新 Amazon RDS 数据库实例。
  4. 使用数据库引擎的本机工具转储现有的数据库实例(要减少存储容量的实例)。
  5. 或者,您可以重命名您的旧数据库实例,然后使用旧数据库实例的名称给新的数据库实例命名。或者,您可以重新配置应用程序以使用新数据库实例的名称。
  6. 在新的数据库实例中还原数据库。

注意:要还原您的数据库,您可以将 pg_dump utility 用于 PostgreSQL 或 PostgreSQL 版本 10.10 和以上版本及 11.5。稍后,您可以考虑使用可传输的数据库,该数据库移动数据的速度比 pg_dump/pg_restore 方法快。mysqldump 实用工具可用于将输入导入至 MySQL/MariaDB 引擎,或者您可以使用外部复制方法来减少停机时间。同样地,您可以将数据转储用于 Oracle,并将本机完全备份(.bak 文件)用于 SQL Server。

注意:停机时间从您的旧数据库实例停止接收连接开始,到 Amazon RDS 将连接从您的应用程序导向至新的数据库实例为止。

使用 AWS DMS 进行复制

您可以使用 AWS DMS 在两个数据库实例之间设置同构复制。有关更多信息,请参阅 AWS Database Migration Service 入门