從外部 MariaDB 資料庫將資料匯入 Amazon RDS for MariaDB 資料庫執行個體 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

從外部 MariaDB 資料庫將資料匯入 Amazon RDS for MariaDB 資料庫執行個體

您可將資料從現有的 MariaDB 資料庫匯入 RDS for MariaDB 資料庫執行個體。做法是以 mysqldumpmariadb-dump 命令複製資料庫,然後將資料庫直接傳輸到 RDS for MariaDB 資料庫執行個體。mysqldumpmariadb-dump 命令列公用程式普遍用於製作備份,以及將資料從 MariaDB 伺服器傳輸到另一個伺服器上。MariaDB 用戶端軟體皆隨附這個程式。

從 MariaDB 11.0.1 開始,您必須使用 mariadb-dump 而非 mysqldump

典型的 mysqldump 命令會將資料從外部資料庫移入 Amazon RDS 資料庫執行個體,如下列範例所示。將值取代為您自己的資訊。對於 MariaDB 11.0.1 及更高版本,請將 mysqldump 取代為 mariadb-dump

mysqldump -u local_user \ --databases database_name \ --single-transaction \ --compress \ --order-by-primary \ --routines=0 \ --triggers=0 \ --events=0 \ -plocal_password | mariadb -u RDS_user \ --port=port_number \ --host=host_name \ -pRDS_password
重要

切勿在 -p 選項與輸入的密碼間插入空白。

指定此範例中所顯示提示以外的憑證,作為安全最佳實務。

請確認您了解下列建議和注意事項:

  • 從傾印檔案中排除下列結構描述:

    • sys

    • performance_schema

    • information_schema

    mysqldumpmariadb-dump 公用程式已預設排除這些結構描述。

  • 如需遷移使用者與權限,建議您使用可產生資料控制語言 (DCL) 以重建使用者與權限的工具,例如 pt-show-grants 公用程式。

  • 若要執行匯入,請確認執行此程序的使用者能夠存取資料庫執行個體。如需詳細資訊,請參閱 使用安全群組控制存取

使用的參數如下:

  • -u local_user – 用來指定使用者名稱。首次使用此參數時,需在 --databases 參數所識別的本機 MariaDB 資料庫中指定使用者帳戶名稱。

  • --databases database_name – 在您要匯入至 Amazon RDS 的本機 MariaDB 執行個體上,指定資料庫名稱。

  • --single-transaction – 確保從本機資料庫負載的所有資料均與單一時間點一致。如有其他程序在 mysqldumpmariadb-dump 讀取資料時變更資料,使用此參數有助於維持資料完整性。

  • --compress – 在本機資料庫的資料傳送到 Amazon RDS 前先完成壓縮,以減少耗用的網路頻寬。

  • --order-by-primary – 以資料的主索引鍵排序各資料表的資料,以減少載入時間。

  • --routines – 如果預存程序或函數等常式存在於您要複製的資料庫中,則應使用。將參數設定為 0,這會在匯入程序期間排除常式。然後,在 Amazon RDS 資料庫中手動重新建立常式。

  • --triggers – 如果觸發程序存在於您要複製的資料庫中,則應使用。將參數設定為 0,這會在匯入程序期間排除觸發程序。然後,在 Amazon RDS 資料庫中手動重新建立觸發程序。

  • --events – 如果事件存在於您要複製的資料庫中,則應使用。將參數設定為 0,這會在匯入程序期間排除事件。然後,在 Amazon RDS 資料庫中手動重新建立事件。

  • -plocal_password – 用來指定密碼。首次使用此參數時,請指定您以第一個 -u 參數識別的使用者帳戶的密碼。

  • -u RDS_user – 用來指定使用者名稱。第二次使用此參數時,需在 --host 參數所識別的 MariaDB 資料庫執行個體的預設資料庫上,指定使用者帳戶名稱。

  • --port port_number – 用於指定 MariaDB 資料庫執行個體的連接埠。預設值為 3306,除非您在建立資料庫執行個體時另行變更。

  • --host host_name – 用來指定 Amazon RDS 資料庫執行個體端點的網域名稱系統 (DNS) 名稱,例如 。myinstance.123456789012.us-east-1.rds.amazonaws.com您可在 Amazon RDS 主控台的資料庫執行個體詳細資訊中找到端點值。

  • -pRDS_password – 用來指定密碼。第二次使用此參數時,需指定第二個 -u 參數所識別的使用者帳戶密碼。

必須在 Amazon RDS 資料庫中手動建立預存程序、觸發程序、函數或事件。如果您正在複製的資料庫中存有上述物件,則請在執行 mysqldumpmariadb-dump 時排除這些物件。為此,請在 mysqldumpmariadb-dump 命令中包含以下參數:

  • --routines=0

  • --triggers=0

  • --events=0

範例

下列範例會將本機主機上的 world 範例資料庫複製到 RDS for MariaDB 資料庫執行個體。將值取代為您自己的資訊。

在 Linux、macOS 或 Unix 中:

sudo mariadb-dump -u local_user \ --databases world \ --single-transaction \ --compress \ --order-by-primary \ --routines=0 \ --triggers=0 \ --events=0 \ -plocal_password | mariadb -u rds_user \ --port=3306 \ --host=my_instance.123456789012.us-east-1.rds.amazonaws.com \ -pRDS_password

在 Windows 中:

在命令提示字元中執行下列命令,方法是對 Windows 程式功能表中的命令提示字元按一下滑鼠右鍵,然後選擇以系統管理員身分執行。將值取代為您自己的資訊。

mariadb-dump -u local_user ^ --databases world ^ --single-transaction ^ --compress ^ --order-by-primary ^ --routines=0 ^ --triggers=0 ^ --events=0 ^ -plocal_password | mariadb -u RDS_user ^ --port=3306 ^ --host=my_instance.123456789012.us-east-1.rds.amazonaws.com ^ -pRDS_password
注意

指定此範例中所顯示提示以外的憑證,作為安全最佳實務。