データベース・テーブルの復元機能は、指定されたデータベースまたはテーブルのみを元のクラスターに復元します。たとえば、ゲームビジネスでは、1 人または数人のプレーヤーのデータのみを復元する必要がある場合があります。この場合、データベース・テーブルの復元機能を使用できます。バックアップセットから復元するか、ある時点に復元することができます。このトピックでは、指定したデータベースまたはテーブルをある時点に復元する方法について説明します。
概要
PolarDB は、元のクラスターに新しいデータベースとテーブルを作成するデータベース・テーブルの復元機能を提供します。この機能は、既存のデータベースやテーブルのデータを上書き、削除、書き込みすることはありません。復元プロセス中に、データベースまたはテーブルに新しい名前を指定できます。たとえば、db1 からのバックアップデータを db2 という名前の新しいデータベースに復元できます。
復元プロセスは、元のクラスターへの通常のアクセスには影響しません。ただし、計算リソースを消費し、クラスターの CPU 使用率と 1 秒あたりの入出力操作 (IOPS) が増加する可能性があります。
使用上の注意
データベースとテーブルのポイントインタイムリカバリは、レベル 1 バックアップでのみサポートされます。レベル 2 バックアップではサポートされていません。
指定したテーブルのみが復元されます。復元するすべてのテーブルを選択していることを確認してください。
説明復元するテーブルを決定できない場合は、クラスターのフル復元を新しいクラスターに実行することをお勧めします。その後、必要なデータを元のクラスターに移行できます。詳細については、「フル復元方法 1: バックアップセットからデータを復元する」および「フル復元方法 2: 以前の時点にデータを復元する」をご参照ください。
次のようなシナリオでは、データベースとテーブルの復元タスクは失敗します:
指定された名前のデータベースまたはテーブルが元のクラスターにすでに存在する場合。
バックアップセットが作成された時刻と復元のために指定された時点の間に、復元対象のテーブルが削除されたか、宛先と同じ名前のデータベースまたはテーブルがクラスターにすでに存在する場合。
データベースから特定のテーブルを復元することを選択した場合、一度に最大 100 個のテーブルを復元できます。データベース全体を復元することを選択した場合、そのデータベース内のすべてのテーブルが復元されます。
説明一度に多くのテーブルを復元すると、時間がかかることがあります。1 回の操作で復元するテーブルが多すぎないようにすることをお勧めします。
多くのテーブルを復元するには、新しいクラスターへのフル復元を実行することをお勧めします。詳細については、「フル復元方法 1: バックアップセットからデータを復元する」および「フル復元方法 2: 以前の時点にデータを復元する」をご参照ください。
クラスターにシステムテーブルを含む 50,000 を超えるテーブルが含まれている場合でも、データベース・テーブルの復元機能を使用できます。
説明この機能は現在カナリアリリース中です。この機能を使用するには、お問い合わせいただき、ホワイトリストに追加される必要があります。
クラスター内のシステムテーブルを含むテーブルの数をクエリするには、次の SQL 文を実行します:
SELECT COUNT(*) FROM information_schema.tables;クラスター内のシステムテーブルの数をクエリするには、次の SQL 文を実行します:
SELECT COUNT(*) FROM information_schema.tables WHERE table_schema IN ('sys', 'performance_schema', 'mysql', 'information_schema', '__recycle_bin__');
データベース・テーブルの復元機能はトリガーを復元しません。元のテーブルにトリガーがある場合、トリガーは復元されません。
データベース・テーブルの復元機能は外部キーを復元しません。元のテーブルに外部キーがある場合、外部キーは復元されません。
手順
[PolarDB コンソール] にログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。クラスターが配置されているリージョンを選択し、クラスター ID をクリックしてクラスターの詳細ページに移動します。
左側のナビゲーションウィンドウで、 を選択します。データベース / テーブルの復元 をクリックします。
表示されるダイアログボックスで、復元タイプ を タイムポイントのバックアップ に設定し、復元時刻 の時点を選択します。
説明復元時刻 に選択する時点は、復元先 の範囲内である必要があります。タイムポイントのバックアップ 復元機能を使用するには、指定した時点に最も近い完全バックアップセットに、復元するテーブルが含まれている必要があります。復元可能な時間範囲は、ログバックアップの保持期間 の期間によって決まります。デフォルトでは 7 日間です。
データベース・テーブルの復元機能は、IOPS の消費量に基づいて、[高速]、[標準]、[安全] の 3 つの構成を提供します。 実際の要件に基づいて構成を選択できます。 各構成の推定復元時間については、「データベース・テーブルの復元速度テストデータのリファレンス」をご参照ください。
[高速]: 多くの IOPS (約 60%) を消費します。オフピーク時にこのオプションを選択してください。
[通常] (推奨): 中程度の IOPS (約 30%) を消費します。
[安全]: 少量の IOPS (約 15%) を消費します。これにより、復元が大幅に遅くなる可能性があります。
復元するデータベースとテーブル セクションで、左側でソースデータベースを選択し、右側でソーステーブルを選択します。
説明新しい名前を指定しない場合、システムは元の名前に
_backupサフィックスを追加して自動的に名前を作成します。たとえば、元のテーブル名がtestの場合、新しいテーブル名はtest_backupになります。データベースを選択してもテーブルを選択しない場合、デフォルトでデータベース内のすべてのテーブルが復元されます。
選択したデータベースとテーブルを確認したら、OK をクリックします。
関連する API 操作
API 操作 | 説明 |
復元するデータベースまたはテーブルのメタデータをクエリします。 | |
PolarDB クラスターのデータベースまたはテーブルを復元します。 |