如何将数据导入 Amazon RDS 数据库实例?
2 分钟阅读
0
我想将现有数据库中的数据导入到 Amazon Relational Database Service (Amazon RDS) 实例,同时最大限度减少停机时间。
解决方法
将数据从现有数据库导入到 Amazon RDS 数据库实例
要将数据从现有数据库导入到 Amazon RDS 数据库实例,请完成以下步骤:
- 从源数据库导出数据。
- 上传导出的数据。
- 将上传的数据导入到 Amazon RDS 数据库实例。
数据导入过程需要不同的服务器停机时间,具体取决于所导入的源数据库的大小。目标数据库实例使用的数据库引擎类型也会影响所需的停机时间。有关更多信息,请参阅以下特定于数据库的解决方法。
一般数据导入性能指南
以下性能指南适用于所有 Amazon RDS 数据导入/导出操作:
- 使用压缩和多线程并行加载和卸载数据。如果您并行加载大量数据,请确保客户机在数据加载过程中有足够的资源。
- 将 Amazon RDS 数据库实例的备份保留期设置为 0,从而针对大量数据加载关闭自动备份。须重启 Amazon RDS 数据库实例,才能实施此更改。
**重要事项:**最佳做法是不关闭生产实例备份,因为这会阻碍时间点故障恢复功能。关闭备份还会删除数据库实例之前的所有自动快照,并阻止恢复已删除的快照。但是,如果数据库实例尚未投入生产,则关闭备份可以提高负载性能。当数据加载完成之后,务必要开启自动备份。此外,在数据加载过程的关键阶段要创建数据库快照,从而能够从快照中恢复实例。 - 在数据加载操作期间关闭多可用区。这会减少多可用区数据加载的同步写入操作所造成的开销。
**重要事项:**多可用区功能是所有生产 Amazon RDS 数据库实例的最佳实践。最佳实践是在数据加载完成后立即开启多可用区。
数据库引擎特定的数据导入指南
- 将数据导入到 Amazon RDS for MySQL 或 MariaDB: 可借助 MySQL 工具,例如 mysqldump、mysql 或 replication(在 MySQL 网站上),将数据导入至 Amazon RDS。如果您使用 MySQL 5.7.9 及更高版本,则可以将数据复制到外部 Amazon RDS 数据库实例或从外部 Amazon RDS 数据库实例复制数据。当您将数据导入 MariaDB 数据库实例时,请采用 MariaDB 工具,诸如 mysqldump、mysql 或者 standard replication(位于 MariaDB 网站上)将数据导入至 Amazon RDS。
- 将数据导入到 Amazon RDS 上的 PostgreSQL: 可采用 PostgreSQL 工具,诸如pg_dump、psql 或者 copy(位于 PostgreSQL 网站上)命令,将数据导入至 Amazon RDS。
- 在 Amazon RDS 上将数据导入 Oracle: 小型数据库可以使用 Oracle SQL Developer 提供的数据库复制功能(位于 Oracle 网站上)。较大数据库需数据泵(在 Oracle 网站上),方可完成以下操作:
使用数据库链接进行导出和导入(在 Oracle 网站上)。
当指定导出参数时,将文件传输到 Amazon RDS 数据库实例上定义的目录(位于 Oracle 网站上)。 - 导入及导出 SQL Server 数据库: 要使用 Microsoft SQL Server 数据库的本机备份和恢复功能,请使用 .bak 文件。或完成以下操作:
创建本地数据库的完整备份。
将备份存储在 Amazon Simple Storage Service (Amazon S3) 上。
将备份文件恢复到 Amazon RDS。 - 将数据导入到 Amazon Aurora MySQL 兼容版本: 与导入到 Amazon RDS for MySQL 一样,您可以使用 mysqldump 和 mydumper 等原生工具迁移到兼容 Aurora MySQL。使用兼容 Aurora MySQL 的二进制日志复制,以此来减少停机时间。也可使用存储在 Amazon S3 上的 Percona Xtrabakup 迁移到兼容 Aurora MySQL。使用 Amazon RDS for MySQL 数据库实例的快照,或为现有 Amazon RDS for MySQL 数据库实例创建 Aurora 副本。对于所有迁移选项,请确保将所有源表转换为具有动态行格式的 InnoDB 存储引擎。这可以加快迁移速度,并有助于成功迁移到 Aurora。
- 把数据导入到 Amazon Aurora PostgreSQL 兼容版本: 与 Amazon RDS PostgreSQL 兼容版本一样,您可以使用可用于数据导入的原生工具,例如 pg_dump、psql 以及 copy 命令(位于 PostgreSQL 网站上)。兼容 Aurora PostgreSQL 还支持逻辑复制,以减少停机时间。兼容 Aurora PostgreSQL 可使用 Amazon S3 将数据导入到带有 aws_s3 扩展的目标数据库。Aurora 本机支持通过将 RDS 快照迁移到兼容 Aurora PostgreSQL 的方式,从 Amazon RDS 迁移。或者,您可以为现有的 Amazon RDS PostgreSQL 兼容实例创建 Aurora 副本集群。
- 使用 AWS Database Migration Service (AWS DMS): 您可以使用 AWS DMS 将数据从本地环境导入到 AWS。DMS 提供同构和异构迁移,停机时间最短。DMS 提供以下迁移类型:
**迁移现有数据(满载):**将现有数据从源数据库实例移动到目标数据库实例。这是一次性加载,与之前列出的导入和导出选项类似。这种迁移类型最适合能够承受大量停机时间的中小型数据库。
**迁移现有数据并复制正在进行的更改(满载 + 变更数据捕获(CDC)):**为了在最短的停机时间内迁移数据,AWS DMS 可以迁移现有数据,并将数据更改从源复制到目标,直到割接。这种迁移类型最适合需要最少停机时间的中小型数据库。它持续的时间仅相当于割接的时间。
**仅复制数据更改 (CDC):**利用原生导入和导出工具的高效性迁移现有数据,然后设置仅限 CDC 的任务,捕获从源实例到目标实例的持续更改。CDC 自定义开始时间参数指定开始数据同步的时间点。这种迁移类型最适合需要最少停机时间且仅持续割接时长的中型和大型数据库。
相关信息
AWS 官方已更新 10 个月前
没有评论
相关内容
- AWS 官方已更新 3 年前
- AWS 官方已更新 3 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 2 年前