翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
mysqldump と mysqlpump
mysqldump
次の図は、mysqldump または mysqlpump バックアップファイルを使用したデータベースの移行に関する大まかな手順を示しています。

mysqldump または mysqlpump を使用してデータベースを に移行する手順は次のとおりです AWS クラウド。
-
オンプレミスサーバーに MySQL シェルをインストールします。手順については、MySQL ドキュメントの「MySQL シェルのインストール
」を参照してください。 MySQL これにより、mysqldump と mysqlpump の両方がインストールされます。 -
mysqldump または mysqlpump を使用して、ソースのオンプレミスデータベースのバックアップを作成します。手順については、MySQL ドキュメントの「mysqldump
」と「mysqlpump 」を参照するか、MariaDB ドキュメントの「making Backups with mysqldump」を参照してください。 https://mariadb.com/kb/en/making-backups-with-mysqldump/ MySQL プログラムを呼び出す方法とオプションを指定する方法の詳細については、MySQL プログラムの使用 」を参照してください。 -
次のいずれかの方法 AWS クラウド を使用して、バックアップファイルを の EC2 インスタンスに移動します。
アプローチ 3A – Amazon FSx または Amazon Elastic File System (Amazon EFS) ファイルシステムを、データベースインスタンスを実行するオンプレミスサーバーにマウントします。 AWS Direct Connect または を使用して接続 AWS VPN を確立できます。データベースをマウントされたファイル共有に直接バックアップすることも、データベースをローカルファイルシステムにバックアップしてからマウントされた FSx または EFS ボリュームにアップロードすることで、2 つのステップでバックアップを実行することもできます。次に、オンプレミスサーバーにもマウントされている Amazon FSx または Amazon EFS ファイルシステムを EC2 インスタンスにマウントします。
アプローチ 3B – AWS CLI、 AWS SDK、または Amazon S3 REST API を使用して、バックアップファイルをオンプレミスサーバーから S3 バケットに直接移動します。ターゲット S3 バケットがデータセンターから AWS リージョン 離れた にある場合は、Amazon S3 Transfer Acceleration を使用してファイルをより迅速に転送できます。s3fs-fuse
ファイルシステムを使用して、EC2 インスタンスに S3 バケットをマウントします。 アプローチ 3C – AWS DataSync オンプレミスデータセンターに エージェントをインストールし、 AWS DataSyncを使用してバックアップファイルを Amazon S3 バケットに移動します。s3fs-fuse
ファイルシステムを使用して、EC2 インスタンスに S3 バケットをマウントします。 注記
Amazon S3 File Gateway を使用して、大規模なデータベースバックアップファイルを の S3 バケットに転送することもできます AWS クラウド。詳細については、このガイドの「Amazon S3 File Gateway を使用したバックアップファイルの転送」を参照してください。
-
ネイティブ復元メソッドを使用して、ターゲットデータベースのバックアップを復元します。手順については、MySQL ドキュメントの「SQL 形式のバックアップの再ロード
」または MariaDB ドキュメントの「ダンプファイルからのデータの復元 」を参照してください。 -
(オプション) ソースデータベースとターゲットデータベースインスタンス間のレプリケーションを設定できます。バイナリログ (binlog) レプリケーションを使用すると、ダウンタイムを短縮できます。詳細については次を参照してください:
-
MySQL ドキュメントのレプリケーションソース設定の設定
-
Amazon Aurora については、以下を参照してください。
-
Amazon RDS については、以下を参照してください。
-
Amazon RDS ドキュメントの MySQL レプリケーションの使用
-
Amazon RDS ドキュメントの MariaDB レプリケーションの使用
-
-
Amazon EC2 については、以下を参照してください。
-
MySQL ドキュメントのバイナリログファイルの位置ベースのレプリケーションの設定
-
MySQL ドキュメントの「レプリカのセットアップ
」 -
MariaDB ドキュメントのレプリケーションの設定
-
-
利点
-
mysqldump と mysqlpump が MySQL Server のインストールに含まれている
-
これらのツールによって生成されたバックアップファイルは、より読みやすい形式になっています。
-
バックアップファイルを復元する前に、標準のテキストエディタを使用して結果の .sql ファイルを変更できます。
-
特定のテーブル、データベース、または特定のデータ選択をバックアップできます。
-
mysqldump と mysqlpump は、マシンアーキテクチャに依存しません。
制限
-
mysqldump はシングルスレッドのバックアッププロセスです。バックアップを取得するパフォーマンスは小規模なデータベースに適していますが、バックアップサイズが 10 GB を超えると非効率になる可能性があります。
-
論理形式のバックアップファイルは、特にテキストとして保存される場合に大量であり、作成と復元に時間がかかることがよくあります。
-
ターゲット DB インスタンスに SQL ステートメントを再適用するには、挿入、インデックス作成、参照整合性制約の適用に大量のディスク I/O と CPU 処理が必要になるため、データの復元が遅くなる可能性があります。
-
mysqlpump ユーティリティは、MySQL バージョン 5.7.8 以前またはバージョン 8.4 以降ではサポートされていません。
-
デフォルトでは、mysqlpump は
performance_schema
や などのシステムデータベースのバックアップを取りませんsys
。システムデータベースの一部をバックアップするには、コマンドラインで明示的に名前を付けます。 -
mysqldump は InnoDB
CREATE TABLESPACE
ステートメントをバックアップしません。
注記
CREATE TABLESPACE ステートメントとシステムデータベースのバックアップは、MySQL または MariaDB データベースのバックアップを EC2 インスタンスに復元する場合にのみ便利です。これらのバックアップは Amazon RDS または Aurora では使用されません。
ベストプラクティス
-
データベースバックアップを復元する場合は、ターゲットデータベースの
FOREIGN_KEY_CHECKS
セッションレベルで などのキーチェックを無効にします。これにより、復元速度が向上します。 -
データベースユーザーにバックアップを作成および復元するための十分な権限
があることを確認します。