ApsaraDB RDS for MySQL は、データベースをバックアップおよび復元するための 2 つのアプローチを提供します。ご利用のシナリオに基づいて選択してください。
| シナリオ | 推奨されるアプローチ |
|---|---|
| 特定のデータベースのバックアップまたは復元 | mysqldump の使用 |
| バックアップセットからのすべてのデータの復元 | バックアップセットの使用 |
| お使いのインスタンスは、個別のデータベースおよびテーブルの復元をサポートしています。 | 個別のデータベースとテーブルの復元 |
| ご利用のインスタンスが個別の復元をサポートしておらず、Database Backup (DBS) を使用している場合 | データベースまたはテーブル単位のデータ復元 |
RDS コンソールでの個別のデータベースとテーブルの復元は、以下でサポートされています。
RDS High-availability Edition (ローカル SSD 付き) の MySQL 8.0
RDS High-availability Edition (ローカル SSD 付き) の MySQL 5.7
RDS High-availability Edition の MySQL 5.6
mysqldump を使用したデータベースのバックアップと復元
mysqldump は、単一のデータベースを SQL ファイルにエクスポートします。同じインスタンスまたは異なるインスタンスに復元できるポータブルなデータベースレベルのバックアップが必要な場合に、このアプローチを使用します。
前提条件
開始する前に、以下を確認してください。
Linux を実行しており、ご利用の RDS インスタンスへのネットワークアクセスがある Elastic Compute Service (ECS) インスタンス
RDS インスタンスのエンドポイント、ポート、およびデータベース名
ターゲットデータベースを管理する権限を持つ RDS アカウント
特定の mysqldump の機能を使用する際に権限エラーが発生した場合は、代わりに RDS for MySQL インスタンスの特権アカウントを使用してください。詳細については、「RDS MySQL mysqldump オプション」をご参照ください。
ステップ 1: MySQL クライアントのインストール
ECS インスタンスで、以下を実行します。
yum install mysqlまたは、特定のバージョンをダウンロードしてインストールします。
wget http://dev.mysql.com/Downloads/MySQL-5.6/MySQL-server-5.6.21-1.rhel5.x86_64.rpm
sudo rpm -ivh http://dev.mysql.com/Downloads/MySQL-5.6/MySQL-server-5.6.21-1.rhel5.x86_64.rpmステップ 2: データベースのバックアップ
次のコマンドを実行して、データベースを SQL ファイルにエクスポートします。
mysqldump -h <host> -u <user> -P <port> -p --opt --default-character-set=utf8 --triggers --hex-blob <database-name> > /tmp/db_name.sqlプレースホルダーをご利用の値に置き換えてください。
| プレースホルダー | 説明 | 例 |
|---|---|---|
<host> | ご利用の RDS インスタンスのエンドポイント | rm-xxx.mysql.rds.aliyuncs.com |
<user> | データベース管理を承認されたアカウント | myuser |
<port> | ご利用の RDS インスタンスのポート番号 | 3306 |
<database-name> | バックアップするデータベース名 | mydb |
プロンプトが表示されたら、アカウントパスワードを入力します。バックアップが完了すると、出力は次のようになります。

バックアップファイルが作成されたことを確認します。
ll /tmp/db_name.sqlステップ 3: データベースの復元 (オプション)
SQL ファイルからデータベースを復元するには、以下を実行します。
mysql -h <host> -u <user> -P <port> -p <database-name> < /tmp/db_name.sqlステップ 2 と同じプレースホルダー値を使用します。プロンプトが表示されたら、アカウントパスワードを入力します。復元が完了すると、出力は次のようになります。

バックアップセットを使用したインスタンスデータの復元
RDS バックアップセットには、ご利用のインスタンス内のすべてのデータが含まれています。バックアップセットから復元するには、バックアップから新しい RDS インスタンスを作成し、データを元のインスタンスに移行します。
このアプローチでは、インスタンス全体が復元されます。特定のデータベースまたはテーブルのみを復元するには、mysqldump を使用するか、ご利用のインスタンス構成がサポートしている場合は個別のデータベースとテーブルの復元機能を使用してください。ステップ 1: バックアップセットからの新しいインスタンスの作成
ApsaraDB RDS コンソールにログインし、ご利用の RDS インスタンスを見つけます。
インスタンス ID をクリックして、インスタンス詳細ページを開きます。
左側のナビゲーションウィンドウで、[バックアップと復元] をクリックします。
復元元のバックアップセットを検索し、[解凍] を [操作] 列でクリックします。
プロンプトに従って、バックアップセットから新しい RDS インスタンスを作成します。
ステップ 2: 復元されたデータの確認
新しいインスタンスの準備ができたら、それに接続し、データが正しいことと完全であることを確認します。
ステップ 3: 元のインスタンスへのデータ移行
復元されたデータが正しいことを確認したら、新しい RDS インスタンスから元のインスタンスに必要なデータを移行します。詳細については、「RDS インスタンス間でデータを移行する」をご参照ください。
復元後のチェックリスト
復元が完了したら、以下を確認してください。
[ ] アプリケーションが正しいエンドポイントと認証情報を使用して正しいインスタンスに接続できること
[ ] データベースアカウントと権限が復元されたインスタンスで正しく構成されていること
[ ] ネットワークアクセスルール (ホワイトリスト、VPC 設定) により、アプリケーションがインスタンスに到達できること
[ ] 監視とアラート機能が復元されたインスタンス用に構成されていること