メニュー
Amazon Relational Database Service
ユーザーガイド (API Version 2014-10-31)

MySQL DB または MariaDB DB から Amazon RDS MySQL または MariaDB DB インスタンスへのデータのインポート

シナリオでサポートされている場合は、バックアップファイルおよび Amazon S3 を使用して Amazon RDS との間でデータを移動する方が簡単です。詳細については、「Amazon RDS MySQL DB インスタンスへのデータのインポート」を参照してください。

mysqldump を使用してデータベースをコピーして、Amazon RDS MySQL または MariaDB DB インスタンスに直接パイプ処理し、既存の MySQL または MariaDB データベースから Amazon RDS MySQL または MariaDB DB インスタンスにデータをインポートすることもできます。mysqldump コマンドラインユーティリティは、データのバックアップや、別の MySQL または MariaDB サーバーへの転送のためによく使用されます。このユーティリティは MySQL および MariaDB クライアントソフトウェアに含まれています。

外部データベースから Amazon RDS DB インスタンスにデータを移動する一般的な mysqldump コマンドは、以下のような内容です。

mysqldump -u <local_user> \ --databases <database_name> \ --single-transaction \ --compress \ --order-by-primary \ -p<local_password> | mysql -u <RDS_user> \ --port=<port_number> \ --host=<host_name> \ -p<RDS_password>

重要

-p オプションと入力するパスワードの間にスペースを残していないことを確認します。

使用するパラメータは次のとおりです。

  • -u <local_user> – ユーザー名を指定します。このパラメータの初回の使用では、--databases パラメータによって識別されたローカル MySQL または MariaDB データベースのユーザーアカウントの名前を指定します。

  • --databases <database_name> – Amazon RDS にインポートするローカル MySQL または MariaDB インスタンスのデータベースの名前を指定します。

  • --single-transaction – ローカルデータベースからロードされたすべてのデータが、ある時点において一貫していることを確認します。mysqldump によるデータの読み取り中に他のプロセスがデータを変更する場合は、このオプションを使用するとデータ整合性を維持できます。

  • --compress – ローカルデータベースからのデータを、Amazon RDS に送信する前に圧縮することで、ネットワーク帯域幅の消費量を削減します。

  • --order-by-primary – 各テーブルのデータをプライマリキーでソートすることで、ロード時間を短縮します。

  • -p<local_password> – パスワードを指定します。このパラメータの初回の使用では、最初の -u パラメータにより識別されるユーザーアカウントのパスワードを指定します。

  • -u <RDS_user> – ユーザー名を指定します。このパラメータの 2 回目の使用では、--host パラメータによって識別された Amazon RDS MySQL または MariaDB DB インスタンスのデフォルトデータベースのユーザーアカウントの名前を指定します。

  • --port <port_number> – Amazon RDS MySQL または MariaDB DB インスタンスのポートを指定します。インスタンスの作成時に値を変更していない限り、デフォルトでは 3306 です。

  • --host <host_name> – Amazon RDS DB インスタンスのエンドポイント、たとえば myinstance.123456789012.us-east-1.rds.amazonaws.com からの DNS 名を指定します。エンドポイントの値は、Amazon RDS マネジメントコンソールのインスタンスの詳細で確認できます。

  • -p<RDS_password> – パスワードを指定します。このパラメータの 2 回目の使用では、2 回目の -u パラメータにより識別されるユーザーアカウントのパスワードを指定します。

Amazon RDS データベースで、ストアドプロシージャ、トリガー、関数、イベントを手動で作成する必要があります。コピーするデータベースにこれらのオブジェクトのいずれかが含まれる場合は、mysqldump コマンドにパラメータ --routines=0 --triggers=0 --events=0 を含めることによって、mysqldump の実行時にこれらのオブジェクトを除外します。

次の例では、ローカルホストにある world サンプルデータベースを、Amazon RDS MySQL DB インスタンスにコピーします。

Linux、OS X、Unix の場合:

sudo mysqldump -u localuser \ --databases world \ --single-transaction \ --compress \ --order-by-primary \ -plocalpassword | mysql -u rdsuser --port=3306 \ --host=myinstance.123456789012.us-east-1.rds.amazonaws.com \ -prdspassword

Windows の場合、次のコマンドは、Windows プログラムメニューの [コマンド プロンプト] を右クリックし、[管理者として実行] を選択して開いたコマンドプロンプトで実行する必要があります。

mysqldump -u localuser ^ --databases world ^ --single-transaction ^ --compress ^ --order-by-primary ^ -plocalpassword | mysql -u rdsuser ^ --port=3306 ^ --host=myinstance.123456789012.us-east-1.rds.amazonaws.com ^ -prdspassword