- Amazon RDS - 首页
- Amazon RDS - 概述
- Amazon RDS - 环境
- Amazon RDS - 接口
- Amazon RDS - 数据库实例
- Amazon RDS - 数据库存储
- Amazon RDS - MS SQL 功能
- Amazon RDS - MS SQL 创建数据库
- Amazon RDS - MS SQL 连接数据库
- Amazon RDS - MS SQL 数据库导入导出
- Amazon RDS - 使用 SSL 的 MS SQL 数据库
- Amazon RDS - MS SQL DBA 任务
- Amazon RDS - Oracle 功能
- Amazon RDS - Oracle 创建数据库
- Amazon RDS - Oracle 连接数据库
- Amazon RDS - Oracle 数据库数据导入
- Amazon RDS - Oracle DBA 任务
- Amazon RDS - MariaDB 功能
- Amazon RDS - MariaDB 创建数据库
- Amazon RDS - MariaDB 连接数据库
- Amazon RDS - MariaDB 数据导入
- Amazon RDS - PostgreSQL 功能
- Amazon RDS - PostgreSQL 创建数据库
- Amazon RDS - PostgreSQL 连接数据库
- Amazon RDS - PostgreSQL 数据导入
- Amazon RDS - MySQL 功能
- Amazon RDS - MySQL 创建数据库
- Amazon RDS - MySQL 连接数据库
- Amazon RDS - MySQL 数据库导入导出
- Amazon RDS - MySQL DBA 任务
- Amazon RDS - 多可用区部署
- Amazon RDS - 数据库快照
- Amazon RDS - 数据库监控
- Amazon RDS - 事件通知
- Amazon RDS - 数据库访问控制
Amazon RDS - MySQL 数据库导入导出
Amazon RDS MySQL 提供了将数据导入数据库和从数据库导出数据的简便方法。成功连接到 MySQL 数据库后,我们可以使用 CLI 工具运行导入和导出命令,将来自其他来源的数据导入和导出到 RDS 数据库。以下是决定将数据导入 Amazon RDS - MySQL 数据库的方法时需要考虑的场景。
来自现有 MySQL 数据库
现有的 MySQL 数据库可能位于本地或另一个 EC2 实例中。下图显示了我们的操作过程。
创建本地数据库备份
第一步是使用以下命令创建本地数据库的备份。
mysqldump -u user -p[user_password] [database_name] > backupfile.sql
将创建一个名为 backupfile.sql 的文件,其中包含表结构以及要使用的数据。
将备份文件存储在 S3 中。
将上面创建的备份文件上传到目标 RDS MySQL 数据库所在的同一区域中预先确定的 Amazon S3 存储桶。您可以访问 此链接 了解如何上传。
将数据从 Amazon S3 导入 RDS-MySQL 数据库
您可以使用以下 Amazon CLI 命令将数据从 S3 导入 MySQL 数据库。
aws rds restore-db-instance-from-s3 \ --allocated-storage 125 \ --db-instance-identifier tddbidentifier \ --db-instance-class db.m4.small \ --engine mysql \ --master-user-name masterawsuser \ --master-user-password masteruserpassword \ --s3-bucket-name tpbucket \ --s3-ingestion-role-arn arn:aws:iam::account-number:role/rolename \ --s3-prefix bucketprefix \ --source-engine mysql \ --source-engine-version 5.6.27
来自另一个 RDS-MySQL 实例
在某些情况下,您可能希望将现有 RDS MYSQL 数据库中的数据复制到另一个 RDS MYSQL 数据库。例如,创建灾难恢复数据库或仅用于业务报告的数据库等。在这种情况下,我们创建只读副本,它是其源数据库的副本,然后将该只读副本提升为新的数据库实例。当我们想要复制数据时,它们用于防止直接从原始源数据库进行大量读取。
创建只读副本
aws rds create-db-instance-read-replica \
--db-instance-identifier myreadreplica \
--source-db-instance-identifier mydbinstance
将只读副本提升为数据库实例
现在我们有了副本,可以将其提升为独立的数据库实例。这将满足我们从 RDS-Mysql 数据库导入数据的最终需求。使用以下命令完成将只读副本提升为数据库实例的操作。
aws rds create-db-instance-read-replica \
--db-instance-identifier readreplica_name \
--region target_region_name
--db-subnet-group-name subnet_name
--source-db-instance-identifier arn:aws:rds:region_name:11323467889012:db:mysql_instance1
来自任何数据库
为了将数据从任何其他数据库导入 Amazon RDS-MySQL,我们必须使用 Amazon 数据迁移服务,也称为 Amazon DMS。它使用模式转换工具将现有数据库转换为 MYSQL 平台。下图说明了整个过程。它也基于上一节中描述的类似复制原理。
从 MySQL 导出数据
从 Amazon RDS Mysql 数据库导出数据是一个直接的过程,它基于我们上面看到的相同复制原理。以下是执行导出过程的步骤。
- 启动 Amazon RDS 外部运行的 MySQL 实例。
- 将 MySQL 数据库实例指定为复制源。
- 使用 mysqldump 将数据库从 Amazon RDS 实例传输到 Amazon RDS 外部的实例。
以下是 mysqldum 命令的代码
mysqldump -h RDS instance endpoint \
-u user \
-p password \
--port=3306 \
--single-transaction \
--routines \
--triggers \
--databases database database2 \
--compress \
--compact | mysql \
-h MySQL host \
-u master user \
-p password \
--port 3306