このトピックでは、ApsaraDB RDS for MySQL インスタンスのデータをリストアするために使用できる方法について説明します。 ApsaraDB RDS for MySQL インスタンスを誤ってリリースした場合、RDS インスタンスのデータを削除または変更した場合、あるいは RDS インスタンスのデータをバックアップファイルからオンプレミスデータベースまたはクラウドにリストアする場合のシナリオに基づいて、方法を選択できます。
シナリオ 1:リリースされた RDS インスタンスのデータをリストアする
ごみ箱: ApsaraDB RDS コンソールにログインし、ごみ箱 ページに移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 ロック済みインスタンス ページで RDS インスタンスが見つかった場合は、RDS インスタンスを再構築できます。
削除済みインスタンスのバックアップ: プレミアムローカル SSD を使用し、7 日以上前に作成された RDS インスタンスに対して [インスタンスリリース後にバックアップファイルを保持] パラメーターを構成した場合、[削除済みインスタンスのバックアップ] タブで必要なバックアップファイルをダウンロードして、RDS インスタンスのデータを復元できます。バックアップ設定の詳細については、「自動バックアップ機能を有効にする」をご参照ください。
シナリオ 2:RDS インスタンスで削除または変更されたデータをリストアする
ソリューション | サポートされているインスタンス | リストア時間 | リストア範囲 | リストア先 | リストア速度 | ||||||
プレミアムローカル SSD | クラウドディスク | 任意の時点 | バックアップセットが生成された時点 | すべてのデータベースとテーブル | 個々のデータベースとテーブル | 新しい RDS インスタンス | 元の RDS インスタンス | 既存の RDS インスタンス | |||
✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ✔️ | ❌ | ❌ | 低速 | ||
✔️ | ❌ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | 高速 | ||
標準 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | 低速 | |
高速 | ✔️ | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ✔️ | ❌ | 高速 |
新しい RDS インスタンスにデータをリストアする: 新しい RDS インスタンスを一時的に使用する場合、従量課金制の RDS インスタンスを作成できます。 従量課金制の RDS インスタンスにデータをリストアし、元の RDS インスタンスにデータを移行してから、従量課金制の RDS インスタンスをリリースしてコストを削減します。
元の RDS インスタンスにデータをリストアする: データのリストアは、元の RDS インスタンスのデータを上書きしません。
また、Data Management (DMS) のデータ追跡機能を使用して、SQL 文を実行することでデータをロールバックすることもできます。 詳細については、「DMS のデータ追跡機能を使用して ApsaraDB RDS for MySQL インスタンスのデータをリストアする」をご参照ください。
シナリオ 3:RDS インスタンスの特定の時点に存在するデータを表示する
高速: ネイティブフラッシュバック機能を使用して、データをすばやく表示できます。 詳細については、「ネイティブフラッシュバック」をご参照ください。
高速: データディザスタリカバリによって生成された論理バックアップファイルからデータをクエリできます。 詳細については、「データディザスタリカバリによって生成された論理バックアップファイルからデータをクエリする」をご参照ください。
高速: データディザスタリカバリサンドボックスインスタンスを作成して、RDS インスタンスのデータバックアップファイルを取得し、データバックアップファイルから RDS インスタンスのデータをリストアします。 詳細については、「ApsaraDB RDS for MySQL データベースの緊急ディザスタリカバリ用のサンドボックスインスタンスを作成する」をご参照ください。 その後、RDS インスタンスのデータを表示します。
低速: 完全データまたは個々のデータベースとテーブルをリストアします。 その後、データを表示します。 詳細については、「ApsaraDB RDS for MySQL インスタンスの完全データをリストアする」または「ApsaraDB RDS for MySQL インスタンスの個々のデータベースとテーブルをリストアする」をご参照ください。
シナリオ 4:バックアップファイルからオンプレミスデータベースまたはクラウドにデータをリストアする
クラウドに移行またはリストアする
DTS を使用して最新のデータを移行します。
自己管理 MySQL データベースから RDS インスタンスにデータを移行します。 詳細については、「自己管理 MySQL データベースから ApsaraDB RDS for MySQL インスタンスにデータを移行する」をご参照ください。
既存データを移行します。
自己管理 MySQL データベースの完全バックアップファイルを RDS にインポートする してから、バックアップファイルから自己管理 MySQL データベースを新しい RDS インスタンスにリストアする。
RDS インスタンスのバックアップファイルからオンプレミスデータベースにデータをリストアします。 その後、オンプレミスデータベースから RDS インスタンスにデータを移行します。 詳細については、「自己管理 MySQL データベースから ApsaraDB RDS for MySQL インスタンスにデータを移行する」をご参照ください。
データディザスタリカバリを使用して論理バックアップを作成します。 その後、生成された論理バックアップファイルから RDS インスタンスにデータをリストアします。 詳細については、「サードパーティクラウドまたは自己管理 MySQL データベースでホストされている MySQL データベースを論理的にバックアップおよびリストアする」をご参照ください。
RDS インスタンスのデータをバックアップファイルから別の Alibaba Cloud アカウントを使用して作成された RDS インスタンスに移行します。
バックアップファイルから自己管理 MySQL データベースにデータをリストアします。 その後、Data Transmission Service (DTS) を使用して、自己管理 MySQL データベースから RDS インスタンスにデータを移行します。 詳細については、「物理バックアップファイルから ApsaraDB RDS for MySQL インスタンスのデータを自己管理 MySQL データベースにリストアする」および「自己管理 MySQL データベースから ApsaraDB RDS for MySQL インスタンスにデータを移行する」をご参照ください。
バックアップファイルから自己管理 MySQL データベースにデータをリストアします。 その後、mysqldump を使用して、自己管理 MySQL データベースから別の Alibaba Cloud アカウントを使用して作成された RDS インスタンスにデータを移行します。 詳細については、「物理バックアップファイルから ApsaraDB RDS for MySQL インスタンスのデータを自己管理 MySQL データベースにリストアする」および「mysqldump 拡張機能を使用して、自己管理 MySQL インスタンスから ApsaraDB RDS for MySQL インスタンスにデータを移行する」をご参照ください。
オンプレミス データベースへのデータの移行または復元
DTS を使用して最新のデータを移行します。
RDS インスタンスのデータを自己管理 MySQL データベースに移行します。 詳細については、「ApsaraDB RDS for MySQL インスタンスから自己管理 MySQL データベースにデータを移行する」をご参照ください。
既存データを移行します。
RDS インスタンス用にデータディザスタリカバリによって論理バックアップファイルが作成されている場合は、論理バックアップファイルからオンプレミスデータベースにデータをリストアします。 詳細については、「論理バックアップから MySQL データベースをリストアする」をご参照ください。
バックアップファイルが ApsaraDB RDS コンソールからダウンロードされている場合は、バックアップファイルの種類に基づいてデータをリストアできます。
論理バックアップ: 論理バックアップは、テーブル、インデックス、ストアドプロシージャなどのデータベースオブジェクトをバックアップするために使用されます。 MySQL データベースの場合は mysqldump、Oracle データベースの場合はエクスポートおよびインポートユーティリティなど、さまざまなツールを使用して論理バックアップを作成できます。 詳細については、「論理バックアップファイルから ApsaraDB RDS for MySQL インスタンスのデータを自己管理 MySQL インスタンスにリストアする」をご参照ください。
物理バックアップ: 物理バックアップは、オペレーティングシステム上のデータベースファイルをバックアップするために使用されます。 MySQL データベースの場合は XtraBackup、Oracle データベースの場合は RMAN など、さまざまなツールを使用して物理バックアップを作成できます。 詳細については、「物理バックアップファイルから ApsaraDB RDS for MySQL インスタンスのデータを自己管理 MySQL データベースにリストアする」をご参照ください。
スナップショットバックアップ: スナップショットは、指定されたデータセットに対して作成されるレプリカであり、元のデータセットと同じ方法で使用できます。 スナップショットバックアップを作成した後、現在のサーバーでスナップショットを維持するか、サーバー間でデータをバックアップするために使用するかを選択できます。 Veritas File System、Linux LVM、NetApp NAS など、さまざまなツールを使用してスナップショットバックアップを作成できます。 詳細については、「スナップショットバックアップファイルを使用して ApsaraDB RDS for MySQL インスタンスのデータを自己管理 MySQL インスタンスにリストアする」をご参照ください。
RDS インスタンスのデータを別の RDS インスタンスに移行する
DTS を使用して最新のデータを移行します。
RDS インスタンスのデータを別の RDS インスタンスに移行します。 詳細については、「ApsaraDB RDS for MySQL インスタンス間でデータを移行する」をご参照ください。
既存データを移行します。
ソース RDS インスタンス用にデータディザスタリカバリによって論理バックアップファイルが作成されている場合は、論理バックアップファイルからターゲット RDS インスタンスにデータをリストアします。 詳細については、「論理バックアップから MySQL データベースをリストアする」をご参照ください。
ソース RDS インスタンス用にデフォルトのバックアップファイルのみが作成されている場合は、RDS インスタンスの完全データ、または RDS インスタンスの特定のデータベースとテーブルからのデータのみを、同じ RDS インスタンスまたは新しい RDS インスタンスにリストアします。 その後、ターゲット RDS インスタンスにデータを移行します。 詳細については、「ApsaraDB RDS for MySQL インスタンスの完全データをリストアする」または「ApsaraDB RDS for MySQL インスタンスの個々のデータベースとテーブルをリストアする」をご参照ください。
その他のシナリオ
RDS インスタンスのバックアップファイルをソースリージョンからターゲットリージョンにレプリケートする必要がある場合、または RDS インスタンスのデータをターゲットリージョンにある既存または新しい RDS インスタンスにリージョン間バックアップファイルからリストアする必要がある場合は、「リージョン間バックアップ機能を使用する」および「リージョン間でデータをリストアする」に記載されている手順に従ってください。
mysqldump
コマンドを実行して、ソース RDS インスタンスの特定のデータベースをバックアップし、バックアップファイルを SQL ファイルとしてエクスポートすることもできます。その後、mysql
コマンドを実行して、SQL ファイルからターゲットデータベースにデータをリストアできます。詳細については、「ApsaraDB RDS for MySQL インスタンスのデータベースをバックアップおよびリストアする方法」をご参照ください。