跳至内容

如何将数据导入 Amazon RDS 数据库实例?

2 分钟阅读
0

我想以最短的停机时间将数据从外部数据库导入 Amazon Relational Database Service (Amazon RDS) 实例。

解决方法

准备数据导入

**注意:**导入数据时,产生的停机时间取决于源数据库的大小和数据库引擎类型。

对于所有 Amazon RDS 数据导入与导出操作,均需执行以下操作:

  • 在适用情况下,利用压缩和多线程并行加载和卸载数据。如果并行加载大量数据,请在导入数据之前确保客户机资源充足。
  • 将目标 Amazon RDS 数据库实例的备份保留期设置为零,以关闭自动备份,从而提高大量数据加载的性能。然后,重启 RDS 数据库实例以应用此更改。
    **注意:**最佳做法是不要关闭生产实例的备份。如果关闭备份,则会禁用时间点故障恢复功能,删除数据库实例以前自动创建的快照,且无法恢复已删除的快照。
  • 数据加载完成后,启用自动备份。最佳做法是在数据加载的关键阶段创建数据库快照。这样,您就能够在需要时从快照还原实例

如需减少多可用区数据加载的写入操作产生的开销,请关闭多可用区。

**注意:**最佳做法是为所有生产 RDS 数据库实例启用多可用区。请确保在数据加载完成后开启多可用区。

要从本地环境导入 AWS 数据,请使用 AWS Database Migration Service (AWS DMS)。AWS DMS 支持同构和异构迁移,且停机时间最短。

将数据导入 Amazon RDS for MySQL

要从外部 MySQL 数据库导入数据,请参阅将数据从外部 MySQL 数据库导入 Amazon RDS for MySQL 数据库实例

将数据导入 Amazon RDS for MariaDB

要从外部 MariaDB 数据库导入数据,请参阅将数据从外部 MariaDB 数据库导入 Amazon RDS for MariaDB 数据库实例

将数据导入 Amazon RDS for PostgreSQL

要从外部 PostgreSQL 数据库导入数据,请使用 Amazon Elastic Compute Cloud (Amazon EC2)Amazon Simple Storage Service (Amazon S3)

**注意:**只有运行 PostgreSQL 10.7 或更高版本时,才能使用 Amazon S3 导入数据。

有关更多信息,请参阅 PostgreSQL 网站上的 pg_dumppsqlcopy

将数据导入 Amazon RDS for Oracle

要从外部 Oracle 数据库导入数据,请使用 Oracle SQL Developer、Oracle Datapump 或 AWS DMS

对于大型数据库,使用数据库链接执行数据泵导出并导入到实例上定义的目录。如果要指定导出参数,则必须使用数据库链接。有关更多信息,请参阅 Oracle 网站上的创建数据库链接Oracle Data Pump 导出Oracle Data Pump 导入 以及 关于 Oracle Data Pump 导出参数

如需将 Oracle Data Pump 与 Amazon S3 配合使用,请参阅使用 Oracle Data Pump 和 S3 存储桶导入数据。如需将 Oracle Data Pump 与数据库链接配合使用,请参阅使用 Oracle Data Pump 和数据库链接导入数据

有关 Oracle Data Pump 的更多信息,请参阅 Oracle Data Pump 概述。有关 impdp 命令的更多信息,请参阅 Oracle 网站上的启动 Oracle Data Pump 导入

将数据导入 Amazon RDS for SQL Server

要从外部 SQL Server 数据库导入数据,请使用本机备份与还原

**注意:**请务必查看本机备份与还原的限制及建议

您可以使用 SQL Server Management Studio、Transact-SQL 或 PowerShell 来创建完整的数据库备份。有关更多信息,请参阅 SQL Server 网站上的创建完整数据库备份

然后,调用 rds_restore_database 存储过程以还原到 Amazon RDS for SQL Server。

将数据导入 Aurora MySQL 兼容版

要将数据从外部 MySQL 数据库导入 Amazon Aurora MySQL 兼容版,请使用逻辑迁移物理迁移

**注意:**如果选择物理迁移,请查看限制和注意事项

您可以使用 mysqldumpmydumper 等原生工具来创建 MySQL 数据库的副本。此外,使用兼容 Aurora MySQL 的二进制日志复制功能,以此缩短停机时间。

**注意:**对于所有迁移选项,请确保将所有源表转换为具有动态行格式的 InnoDB 存储引擎。这可以加快迁移速度。有关更多信息,请参阅将数据迁移到兼容 Aurora MySQL 的数据库集群

对于大型数据库迁移,请使用 mydumper 和 myloader 执行多线程转储和导入

将数据导入 Aurora PostgreSQL 兼容版

要从外部 PostgreSQL 数据库导入数据,请使用 AWS DMSAmazon S3

**注意:**只有在数据库运行兼容 Aurora PostgreSQL 的 10.14、11.9、12.4 或更高版本时,才能使用 Amazon S3 导入数据。

要创建源数据库的副本,请使用 pg_dump 和 pg_restore 等原生工具。

要将数据导入兼容 Aurora PostgreSQL 的数据库实例,请执行以下操作:

相关信息

Amazon RDS 最佳实践

使用复制功能从 MySQL 数据库实例导出数据

将 PostgreSQL 数据库迁移到 Amazon RDS 和 Amazon Aurora 的最佳实践