データベースとテーブルの復元では、指定したデータベースまたはテーブルのみを元のクラスターに復元します。たとえば、ゲームシナリオでは、特定のプレーヤーのデータのみを復元する必要がある場合があります。このような場合は、データベースとテーブルの復元機能を使用できます。データベースとテーブルの復元は、バックアップセットからの復元と過去の特定の時点への復元の 2 つのバックアップ方法をサポートしています。このトピックでは、指定したデータベースまたはテーブルを過去の特定の時点に復元する方法について説明します。
概要
PolarDB が提供するデータベース・テーブルの復元機能は、元のクラスターにある既存のデータベースやテーブルを上書きまたは削除したり、既存のデータベースやテーブルにデータを書き込んだりすることはありません。 代わりに、元のクラスターに新しいデータベースとテーブルを作成します。 データベースとテーブルの復元では、新しいデータベース名またはテーブル名を指定して、db1 のバックアップデータを db2 に復元できます。
データベースとテーブルの復元中、元のクラスター内のデータベースへの通常のアクセスは影響を受けません。ただし、復元によって元のクラスターのコンピューティングリソースが消費される可能性があり、これによりクラスターの CPU 使用率と IOPS が増加する可能性があります。
利用シーン
クラスターエディション
データベース・テーブルの復元機能は PolarDB Enterprise Edition と Standard Edition をサポートしていますが、特定のクラスターリビジョンバージョンが必要です。 次の表に、さまざまなシナリオで必要な最小リビジョンバージョンを示します。
-
基本機能:データベースとテーブルの復元をサポートするために必要な最小リビジョンバージョン。
-
GDN プライマリクラスター/新しい復元プロセス:グローバルデータベースネットワーク (GDN) のプライマリクラスターでこの機能を使用する場合、または 新しい復元プロセスの速度最適化の恩恵を受けるために必要な最小リビジョンバージョン。
説明データベースとテーブルの復元機能の新しい復元フローは、元のクラスターへのデータ復元速度を最適化する機能強化です。メカニズムと速度の詳細については、「全体的なフローと推定時間」をご参照ください。
|
エディションシリーズ |
MySQL バージョン |
アーキテクチャ |
基本機能 (最小リビジョンバージョン) |
GDN プライマリクラスター/新しい復元プロセス (最小リビジョンバージョン) |
|
Enterprise Edition (Cluster Edition) |
5.6 |
X86 |
|
|
|
5.7 |
X86 |
|
|
|
|
8.0.1 |
X86 |
|
|
|
|
8.0.2 |
X86 |
|
|
|
|
Standard Edition |
5.6 |
X86 |
|
|
|
5.7 |
X86 |
|
|
|
|
8.0.1 |
X86 |
|
|
|
|
Yitian (ARM) |
|
|
||
|
8.0.2 |
X86 |
|
|
ご利用の PolarDB for MySQL クラスターの 基本情報 ページにある 設定情報 セクションで、クラスターのカーネルバージョンを確認できます。
その他の制限事項
データベースとテーブルの復元機能には、次の制限事項があります:
-
クラスター:
-
この機能は、マルチマスタークラスター (Limitless) Edition のクラスター、または グローバルデータベースネットワーク (GDN) のセカンダリクラスターではサポートされていません。
-
次のいずれかの場合、50,000 を超えるテーブルを持つクラスターでは、データベースとテーブルの復元はサポートされていません:
-
ストレージタイプが ESSD (エンタープライズ SSD) である。
-
クラスターに読み取り専用 (RO) ノードがない。
-
-
-
テーブルスキーマとインデックス:
-
グローバルセカンダリインデックス (GSI) を含むテーブルはサポートされていません。
-
列ストアインデックス (IMCI) の復元はサポートされていません。
-
-
ストレージエンジン:InnoDB ストレージエンジンを使用するテーブルのみが復元できます。
-
データステータス:コールドデータとしてアーカイブされたテーブルは復元できません。
現在のクラスターがデータベースとテーブルの復元機能をサポートしていない場合は、フル復元を使用して新しいクラスターにデータを復元し、その後、データをソースクラスターに移行できます。
注意事項
-
ポイントインタイムリカバリとは、特定の時点を選択してデータベーステーブルを復元することを指します。復元後、データベーステーブルにはその時点のデータのみが含まれます。つまり、データベース内のテーブルデータはその時点のデータと一致します。
-
データベースとテーブルの復元機能における「特定の時点に復元」モードでは、1次バックアップの過去の特定の時点からの復元のみがサポートされます。2次バックアップからの復元はサポートされていません。
-
次のシナリオでは、データベースとテーブルの復元操作は失敗します。
-
指定したデータベース名またはテーブル名が元のクラスターにすでに存在する場合。
-
バックアップセットが生成された時点と復元時点の間に、復元対象のテーブルが削除されたか、クラスターにターゲットデータベースまたはテーブルと同じ名前のデータベースまたはテーブルが含まれている場合。
-
-
データベースとテーブルの復元では、指定したテーブルのみが復元されます。復元する必要があるすべてのテーブルを選択したことを確認してください。
説明関連するすべてのテーブルを特定できない場合は、クラスター全体の履歴データを新しいクラスターに復元し、その後、データを元のクラスターに移行することを推奨します。詳細については、「バックアップセットからの復元」および「クラスターを特定の時点に復元」をご参照ください。
-
データベース全体を復元しない場合、各データベースで一度に最大 100 テーブルまで復元できます。データベース全体を復元する場合、データベース内のすべてのテーブルが復元されます。
説明-
一度に復元するテーブルが多すぎると、復元に時間がかかります。そのため、一度に多くのテーブルを復元しないことを推奨します。
-
多数のテーブルを復元する必要がある場合は、完全な履歴データを新しいクラスターに復元することを推奨します。詳細な操作手順については、「バックアップセットからの復元」および「クラスターを特定の時点に復元」をご参照ください。
-
-
クラスターに 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 が消費される可能性があります。この設定はオフピーク時間に選択することを推奨します。
-
標準 (4 コア以上のクラスターに推奨):現在のクラスターにデータを復元する際、中程度の IOPS が消費される可能性があります。
-
安全 (4 コア以下のクラスターに推奨):現在のクラスターにデータを復元する際、消費される IOPS は少量ですが、復元速度が大幅に影響を受ける可能性があります。
4 コア以下のクラスターの場合、
innodb_io_capacityとinnodb_io_capacity_maxがクラスター仕様に一致する値に設定されていることを確認することを推奨します。各クラスター仕様でサポートされる最大 IOPS については、「Enterprise Edition のコンピュートノード仕様」および「Standard Edition のコンピュートノード仕様」をご参照ください。復元には 安全 速度を使用することを推奨します。 -
-
-
復元するデータベースとテーブル セクションで、左側でターゲットデータベースを、右側でターゲットテーブルを選択します。
説明-
新しいデータベース名またはテーブル名を指定しない場合、システムは元のデータベース名またはテーブル名に
_backupを追加して、新しいデータベース名とテーブル名を自動的に生成します。たとえば、元のテーブル名がtestの場合、自動生成される新しいテーブル名はtest_backupになります。 -
ターゲットデータベースを選択し、テーブルを指定しない場合、デフォルトでデータベース内のすべてのテーブルが復元されます。
-
-
復元したいデータベースとテーブルを選択したことを確認した後、OK をクリックします。
API リファレンス
|
操作 |
説明 |
|
復元可能なデータベースとテーブルのメタデータ詳細を照会します。 |
|
|
PolarDB クラスターの指定したデータベースまたはテーブルを元のクラスターに復元します。 |