データベースとテーブルの復元は、クラスター内の指定されたデータベースまたはテーブルのみを復元するプロセスです。 たとえば、あなたはゲーム会社のデータベース管理者です。 データベースとテーブルの復元機能を使用して、プレーヤーまたはプレーヤーのグループのデータを復元できます。 バックアップセットから復元するか、以前の時点に復元するかの2つの方法を使用して、データベースまたはテーブルを復元できます。 このトピックでは、データベースまたはテーブルのデータを以前の時点に復元する方法について説明します。
概要
PolarDBのデータベースとテーブルの復元機能は、クラスター内の既存のデータベースまたはテーブルを上書きまたは削除したり、クラスター内の既存のデータベースまたはテーブルにデータを直接書き込んだりしません。 この機能により、クラスターに新しいデータベースまたはテーブルが作成されます。 復元プロセス中に新しいデータベース名またはテーブル名を指定して、新しいデータベースまたはテーブルにデータを復元できます。 たとえば、バックアップデータをdb1
からdb2
に復元するターゲットデータベースとしてdb2を指定できます。
データベースとテーブルの復元は、クラスターへのアクセスを中断しませんが、クラスターのコンピューティングリソースを消費する可能性があり、クラスターのCPU使用率とIOPSが増加します。
注意事項
サポートされているバージョン
クラスターのデータベースエンジンバージョンを確認する方法については、「エンジンバージョンの照会」をご参照ください。
Database EditionがEnterprise EditionでEditionがcluster EditionであるPolarDB for MySQLクラスターは、次のいずれかのデータベースエンジンバージョンを実行する場合、データベースとテーブルの復元機能をサポートします。
リビジョンバージョンが5.6.1.0.25以降のPolarDB for MySQL 5.6。
リビジョンバージョンが5.7.1.0.8以降のPolarDB for MySQL 5.7。
リビジョンバージョンが8.0.1.1.14以降のPolarDB for MySQL 8.0.1。
リビジョンバージョンが8.0.2.2.0以降のPolarDB for MySQL 8.0.2。
Database EditionがEnterprise EditionであるGDNのプライマリクラスターは、次のいずれかのデータベースエンジンバージョンを実行している場合、データベースおよびテーブルの復元機能をサポートします。
リビジョンバージョンが5.6.1.0.42以降のPolarDB for MySQL 5.6。
リビジョンバージョンが5.7.1.0.30以降のPolarDB for MySQL 5.7。
リビジョンバージョンが8.0.1.1.44以降のPolarDB for MySQL 8.0.1。
リビジョンバージョンが8.0.2.2.25.3以降のPolarDB for MySQL 8.0.2。
Database EditionがEnterprise Editionのクラスターは、次のいずれかのデータベースエンジンバージョンを実行している場合、新しいバージョンのデータベースとテーブルの復元機能をサポートします。
リビジョンバージョンが5.6.1.0.42以降のPolarDB for MySQL 5.6。
リビジョンバージョンが5.7.1.0.30以降のPolarDB for MySQL 5.7。
リビジョンバージョンが8.0.1.1.44以降のPolarDB for MySQL 8.0.1。
リビジョンバージョンが8.0.2.2.25.3以降のPolarDB for MySQL 8.0.2。
説明元のバージョンのデータベースとテーブルの復元機能と比較して、新しいバージョンではクラスターにデータをより高速に復元できます。 詳細については、「全体的なプロセスと推定時間」をご参照ください。
制限事項
[PolarDB] エディションが [マルチマスタークラスター (データベース /テーブル)] のクラスターは、データベースまたはテーブルの復元機能をサポートしていません。
データベースとテーブルの復元機能を使用して、グローバルセカンダリインデックスを持つテーブルを復元することはできません。
読み取り専用ノードを持たないPolarDB for MySQLクラスター内のテーブルの数が50,000を超える場合、クラスター内のデータベースおよびテーブル復元機能を使用できません。
GDNのセカンダリクラスターでは、データベースとテーブルの復元を使用できません。
データベースとテーブルの復元を使用して、インメモリ列インデックス (IMCI) を復元することはできません。
データベースとテーブルの復元を使用して、コールドデータとしてアーカイブされたテーブルを復元することはできません。
InnoDBストレージエンジンを使用するテーブルを復元するには、データベースとテーブルの復元のみを使用できます。
データベースとテーブルの復元をサポートしていないクラスター上のデータベースまたはテーブルを復元するには、最初に次のいずれかの方法を使用して、新しいクラスターへのデータの完全復元を実行します。方法1の完全復元: バックアップセットからデータを復元または方法2の完全復元: 以前の時点にデータを復元します。 次に、新しいクラスターから元のクラスターにデータを移行します。 クラスター間でデータを移行する方法については、「PolarDB For MySQLクラスター間のデータ移行」をご参照ください。
使用上の注意
レベル1のバックアップからのみ、データベースまたはテーブルを以前の時点に復元できます。
指定したテーブルのみが復元されます。 復元するテーブルをすべて選択していることを確認します。
説明復元するテーブルを特定できない場合は、現在のクラスター内のすべてのデータを新しいクラスターに復元してから、そのデータを現在のクラスターに移行することを推奨します。 詳細については、「完全復元の方法1: バックアップセットからデータを復元する」および「完全復元の方法2: 以前の時点にデータを復元する」をご参照ください。
次のシナリオでデータベースまたはテーブルを復元すると、データベースとテーブルの復元タスクが失敗します。
ターゲットデータベースまたはテーブルに指定する名前は、元のクラスターに存在する名前と同じです。
バックアップセットが生成されてからバックアップセットが復元されるまでの間に、復元されたテーブルが削除されるか、ターゲットデータベースまたはテーブルと同じ名前のデータベースまたはテーブルがクラスタ内に存在します。
データベースの一部のみを復元する場合は、データベース内の最大100のテーブルを同時に復元できます。 データベース全体を復元すると、データベース内のすべてのテーブルが復元されます。
説明多数のテーブルを同時に復元するには長い時間を要する。 多数のテーブルを同時に復元しないことをお勧めします。
多数のテーブルを復元するには、新しいクラスターに完全な復元を実行することをお勧めします。 詳細については、「完全復元の方法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日です。
復元するデータベースとテーブル セクションの左側で、復元するデータベースを選択します。 右側で、復元するテーブルを選択します。
説明ターゲットデータベースまたはテーブルの名前を指定しない場合、元のデータベースとテーブルの名前に
_backup
を付けて、新しいデータベースまたはテーブル名が自動的に生成されます。 たとえば、元のテーブルの名前がtest
の場合、ターゲットテーブルの名前は自動的にtest_backup
になります。データベースを選択した後にテーブルを選択しないと、データベース内のすべてのテーブルが復元されます。
OKをクリックします。
関連する API 操作
API 操作 | 説明 |
復元するデータベースまたはテーブルのメタデータを照会します。 | |
PolarDBクラスターのデータベースまたはテーブルを復元します。 |