- 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