ログの保持期間内であれば、特定のデータベースまたはテーブルのデータを任意の時点に復元できます。この復元プロセスでは、スナップショットである完全データバックアップとその後の Redo ログを使用します。誤った操作が発生した日時がわかっている場合、この方法を使用して、影響を受けたデータベースまたはテーブルを操作前の状態に復元できます。
前提条件
バックアップセットが利用可能である必要があります。ポイントインタイムリカバリでは、まず、選択した時点より前に作成された完全データバックアップを復元します。次に、Redo ログから増分データを適用して、データを指定した時点に復元します。リカバリを高速化するために、拡張バックアップを有効にできます。これにより、バックアップサイクルが短縮され、バックアップ密度が向上します。
使用上の注意
ポイントインタイムリカバリは、データベースまたはテーブルを特定の時点に復元します。リカバリが完了すると、テーブル内のデータはその時点のデータと同一になります。
データベースとテーブルは、レベル 1 バックアップからのみ復元できます。レベル 2 バックアップからは復元できません。
選択したテーブルのみが復元されます。復元する必要があるすべてのテーブルを選択してください。
説明どのテーブルを復元すればよいかわからない場合は、完全なクラスター復元を実行してください。
データベースとテーブルの復元機能は、システムテーブルを含め、クラスターに 50,000 を超えるテーブルが含まれている場合でも使用できます。
完全なデータベースではなく特定のテーブルを復元することを選択した場合、一度に最大 100 個のテーブルを復元できます。完全なデータベースを復元することを選択した場合、そのデータベース内のすべてのテーブルが復元されます。
説明多数のテーブルを復元するには、完全なクラスター復元を実行してください。
データベースとテーブルの復元機能はトリガーを復元しません。
データベースとテーブルの復元機能は外部キーを復元しません。
オフピーク時にデータを復元してください。
ステップ 1: データが誤って削除または変更された時点を確認する
データが誤って削除または変更された日時がわかっている場合は、このステップをスキップできます。データが誤って削除または変更された特定の時点がわからない場合は、次のいずれかの方法で確認できます。
方法 1: SQL エクスプローラー
PolarDB for MySQL Cluster Edition の SQL エクスプローラー機能が有効になっている場合、監査ログを表示して、データが誤って削除または変更された時点を取得できます。
SQL エクスプローラー機能が有効になった後に生成された SQL ログのみを確認できます。したがって、クラスターで SQL エクスプローラーが有効になっていない場合は、方法 2 を使用して、データが誤って削除または変更された時点を確認できます。
方法 2: バイナリログをリモートで取得して解析する
- バイナリログ機能を有効にします。詳細については、「バイナリログを有効にする」をご参照ください。説明 バイナリログを表示および取得する前に、まずクラスターのバイナリログを有効にする必要があります。そうしないと、ヒューマンエラーメッセージ
You are not using binary loggingが返されます。 - オンプレミスサーバーに MySQL をインストールし、MySQL クライアントを介して MySQL をクラスターに接続します。詳細については、「クラスターへの接続」をご参照ください。このトピックでは、Linux オペレーティングシステムを例として使用します。

- クラスターに接続されているクライアントで次のコマンドを実行して、バイナリログを表示します。
次の結果が返されます。show binary logs;+------------------+-----------+ | Log_name | File_size | +------------------+-----------+ | mysql-bin.000005 | 2639 | +------------------+-----------+ 1 row in set (0.00 sec) - クライアントで次のコマンドを実行してバイナリログを取得し、ログをオンプレミスサーバーに保存します。このトピックでは、Linux オペレーティングシステムを例として使用します。バイナリログを取得してオンプレミスサーバーに保存するには、次のコマンドを実行する前に EXIT コマンドを実行して MySQL を終了する必要があります。
次のコマンドを実行します。mysqlbinlog -u <username> -p <password> -h <endpoint> --read-from-remote-server --raw mysql-bin.******パラメーター 説明 例 -uクラスターのアカウント名。 test_api-pアカウントのパスワード。アカウントのパスワードを入力しない場合、上記のコマンドを実行した後にパスワードの入力を求められます。 TestPwd123-hクラスターのパブリックエンドポイント。 説明- クラスターのエンドポイントがデフォルトのポート番号 3306 を使用している場合、ポート番号を指定する必要はありません。それ以外の場合は、エンドポイントの後にポート番号を指定する必要があります。
- プライマリエンドポイントまたはクラスターエンドポイントのパブリック向けエンドポイントにのみ接続して、バイナリログをリモートで取得できます。クラスターエンドポイントには、デフォルトのクラスターエンドポイントとカスタムクラスターエンドポイントが含まれます。パブリックエンドポイントの申請方法の詳細については、「クラスターのエンドポイントの管理」をご参照ください。
test-polardb.rwlb.rds.aliyuncs.com--rawこのパラメーターを指定すると、バイナリログを元の形式で出力できます。解析されたデータは表示されません。 --rawmysql-bin.******show binary logs;コマンドを実行して取得するバイナリログの名前。名前はLog_nameフィールドに表示されます。mysql-bin.000005例:mysqlbinlog -utest_api -p -htest-polardb.rwlb.rds.aliyuncs.com --read-from-remote-server --raw mysql-bin.000005 - 次のコマンドを実行して、mysqlbinlog を使用してバイナリログの詳細を表示します。
mysqlbinlog -vv --base64-output=decode-rows mysql-bin.****** | more説明-vv: SQL 文と備考を表示できます。--base64-output=decode-rows: バイナリログを解析できます。
次の図は、バイナリログの詳細を示しています。

- バイナリログファイルを取得した後、バイナリログを解析するには、「mysqlbinlog-Utility for Processing Binary Log Files」をご参照ください。
ステップ 2: データベースとテーブルの復元を開始する
PolarDB コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。クラスターが配置されているリージョンを選択し、クラスター ID をクリックしてクラスター詳細ページに移動します。
左側のナビゲーションウィンドウで、 を選択します。データベース / テーブルの復元 をクリックします。
表示されるダイアログボックスで、復元タイプ を タイムポイントのバックアップ に設定し、復元時刻 の時点を選択します。
説明復元時刻 に選択する時点は、復元先 の範囲内である必要があります。タイムポイントのバックアップ 復元機能を使用するには、指定した時点に最も近い完全バックアップセットに、復元するテーブルが含まれている必要があります。復元可能な時間範囲は、ログバックアップの保持期間 の期間によって決まります。デフォルトでは 7 日間です。
データベースとテーブルの復元機能は、IOPS 消費量に基づいて 3 つの構成を提供します: [高速]、[通常]、[安全]。実際の要件に基づいて構成を選択できます。各構成の推定復元期間については、「データベースとテーブルの復元速度テストデータリファレンス」をご参照ください。
高速: 多くの IOPS (約 60%) を消費します。このオプションはオフピーク時に選択してください。
通常 (推奨): 中程度の IOPS (約 30%) を消費します。
安全: 少量の IOPS (約 15%) を消費します。これにより、復元が大幅に遅くなる可能性があります。
復元するデータベースとテーブル セクションで、左側でソースデータベースを選択し、右側でソーステーブルを選択します。
説明新しい名前を指定しない場合、システムは元の名前に
_backupサフィックスを追加して自動的に名前を作成します。たとえば、元のテーブル名がtestの場合、新しいテーブル名はtest_backupになります。データベースを選択してもテーブルを選択しない場合、デフォルトでデータベース内のすべてのテーブルが復元されます。
選択したデータベースとテーブルを確認したら、OK をクリックします。
ステップ 3: データを比較および検証する
データベースとテーブルの復元が完了したら、クラスターにログインしてデータを比較および検証します。
Data Management Service (DMS)、別のクライアント、またはコマンドラインを使用してクラスターにログインできます。このトピックでは、DMS を使用してクラスターにログインし、データを検証する方法について説明します。他の方法については、「データベースクラスターへの接続」をご参照ください。
クラスターの 概要 ページの右上隅にある データベースにログイン をクリックします。

表示されるダイアログボックスで、クラスターの [データベースアカウント] と [データベースパスワード] を入力し、[ログイン] をクリックします。

DMS にログインしたら、ページを更新します。左側のナビゲーションウィンドウで、[ログイン中のインスタンス] をクリックします。
[ログイン中のインスタンス] リストで、ターゲットクラスターの名前をクリックします。ターゲットデータベースの名前を見つけてダブルクリックし、管理します。

誤った操作の影響を受けたデータを見つけます。データが誤った操作の前の状態に復元され、他のデータも操作の前の状態と一致していることを確認します。