すべてのプロダクト
Search
ドキュメントセンター

PolarDB:データベースとテーブルの復元: データを特定の時点に復元する

最終更新日:Nov 09, 2025

ログの保持期間内であれば、特定のデータベースまたはテーブルのデータを任意の時点に復元できます。この復元プロセスでは、スナップショットである完全データバックアップとその後の Redo ログを使用します。誤った操作が発生した日時がわかっている場合、この方法を使用して、影響を受けたデータベースまたはテーブルを操作前の状態に復元できます。

前提条件

バックアップセットが利用可能である必要があります。ポイントインタイムリカバリでは、まず、選択した時点より前に作成された完全データバックアップを復元します。次に、Redo ログから増分データを適用して、データを指定した時点に復元します。リカバリを高速化するために、拡張バックアップを有効にできます。これにより、バックアップサイクルが短縮され、バックアップ密度が向上します。

使用上の注意

  • ポイントインタイムリカバリは、データベースまたはテーブルを特定の時点に復元します。リカバリが完了すると、テーブル内のデータはその時点のデータと同一になります。

  • データベースとテーブルは、レベル 1 バックアップからのみ復元できます。レベル 2 バックアップからは復元できません。

  • 選択したテーブルのみが復元されます。復元する必要があるすべてのテーブルを選択してください。

    説明

    どのテーブルを復元すればよいかわからない場合は、完全なクラスター復元を実行してください。

  • データベースとテーブルの復元機能は、システムテーブルを含め、クラスターに 50,000 を超えるテーブルが含まれている場合でも使用できます。

  • 完全なデータベースではなく特定のテーブルを復元することを選択した場合、一度に最大 100 個のテーブルを復元できます。完全なデータベースを復元することを選択した場合、そのデータベース内のすべてのテーブルが復元されます。

    説明

    多数のテーブルを復元するには、完全なクラスター復元を実行してください。

  • データベースとテーブルの復元機能はトリガーを復元しません。

  • データベースとテーブルの復元機能は外部キーを復元しません。

  • オフピーク時にデータを復元してください。

ステップ 1: データが誤って削除または変更された時点を確認する

データが誤って削除または変更された日時がわかっている場合は、このステップをスキップできます。データが誤って削除または変更された特定の時点がわからない場合は、次のいずれかの方法で確認できます。

方法 1: SQL エクスプローラー

PolarDB for MySQL Cluster Edition の SQL エクスプローラー機能が有効になっている場合、監査ログを表示して、データが誤って削除または変更された時点を取得できます。

説明 SQL エクスプローラーは有料サービスです。監査ログの保持期間に基づいて、監査ログが占有するストレージ領域に対して課金されます。SQL エクスプローラーの詳細については、「SQL エクスプローラー」をご参照ください。

SQL エクスプローラー機能が有効になった後に生成された SQL ログのみを確認できます。したがって、クラスターで SQL エクスプローラーが有効になっていない場合は、方法 2 を使用して、データが誤って削除または変更された時点を確認できます。

方法 2: バイナリログをリモートで取得して解析する

  1. バイナリログ機能を有効にします。詳細については、「バイナリログを有効にする」をご参照ください。
    説明 バイナリログを表示および取得する前に、まずクラスターのバイナリログを有効にする必要があります。そうしないと、ヒューマンエラーメッセージ You are not using binary logging が返されます。
  2. オンプレミスサーバーに MySQL をインストールし、MySQL クライアントを介して MySQL をクラスターに接続します。詳細については、「クラスターへの接続」をご参照ください。このトピックでは、Linux オペレーティングシステムを例として使用します。
    1
  3. クラスターに接続されているクライアントで次のコマンドを実行して、バイナリログを表示します。
    show binary logs;
    次の結果が返されます。
    +------------------+-----------+
    | Log_name         | File_size |
    +------------------+-----------+
    | mysql-bin.000005 |      2639 |
    +------------------+-----------+
    1 row in set (0.00 sec)
  4. クライアントで次のコマンドを実行してバイナリログを取得し、ログをオンプレミスサーバーに保存します。
    このトピックでは、Linux オペレーティングシステムを例として使用します。バイナリログを取得してオンプレミスサーバーに保存するには、次のコマンドを実行する前に EXIT コマンドを実行して MySQL を終了する必要があります。2次のコマンドを実行します。
    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このパラメーターを指定すると、バイナリログを元の形式で出力できます。解析されたデータは表示されません。--raw
    mysql-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
  5. 次のコマンドを実行して、mysqlbinlog を使用してバイナリログの詳細を表示します。
    mysqlbinlog -vv --base64-output=decode-rows mysql-bin.****** | more
    説明
    • -vv: SQL 文と備考を表示できます。
    • --base64-output=decode-rows: バイナリログを解析できます。

    次の図は、バイナリログの詳細を示しています。

    3
  6. バイナリログファイルを取得した後、バイナリログを解析するには、「mysqlbinlog-Utility for Processing Binary Log Files」をご参照ください。

ステップ 2: データベースとテーブルの復元を開始する

  1. PolarDB コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。クラスターが配置されているリージョンを選択し、クラスター ID をクリックしてクラスター詳細ページに移動します。

  2. 左側のナビゲーションウィンドウで、設定と管理 > バックアップと復元 を選択します。データベース / テーブルの復元 をクリックします。

  3. 表示されるダイアログボックスで、復元タイプタイムポイントのバックアップ に設定し、復元時刻 の時点を選択します。

    image

    説明
    • 復元時刻 に選択する時点は、復元先 の範囲内である必要があります。タイムポイントのバックアップ 復元機能を使用するには、指定した時点に最も近い完全バックアップセットに、復元するテーブルが含まれている必要があります。復元可能な時間範囲は、ログバックアップの保持期間 の期間によって決まります。デフォルトでは 7 日間です。

    • データベースとテーブルの復元機能は、IOPS 消費量に基づいて 3 つの構成を提供します: [高速][通常][安全]。実際の要件に基づいて構成を選択できます。各構成の推定復元期間については、「データベースとテーブルの復元速度テストデータリファレンス」をご参照ください。

      • 高速: 多くの IOPS (約 60%) を消費します。このオプションはオフピーク時に選択してください。

      • 通常 (推奨): 中程度の IOPS (約 30%) を消費します。

      • 安全: 少量の IOPS (約 15%) を消費します。これにより、復元が大幅に遅くなる可能性があります。

  4. 復元するデータベースとテーブル セクションで、左側でソースデータベースを選択し、右側でソーステーブルを選択します。

    1

    説明
    • 新しい名前を指定しない場合、システムは元の名前に _backup サフィックスを追加して自動的に名前を作成します。たとえば、元のテーブル名が test の場合、新しいテーブル名は test_backup になります。

    • データベースを選択してもテーブルを選択しない場合、デフォルトでデータベース内のすべてのテーブルが復元されます。

  5. 選択したデータベースとテーブルを確認したら、OK をクリックします。

ステップ 3: データを比較および検証する

データベースとテーブルの復元が完了したら、クラスターにログインしてデータを比較および検証します。

Data Management Service (DMS)、別のクライアント、またはコマンドラインを使用してクラスターにログインできます。このトピックでは、DMS を使用してクラスターにログインし、データを検証する方法について説明します。他の方法については、「データベースクラスターへの接続」をご参照ください。

  1. クラスターの 概要 ページの右上隅にある データベースにログイン をクリックします。

    基本信息

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

  3. DMS にログインしたら、ページを更新します。左側のナビゲーションウィンドウで、[ログイン中のインスタンス] をクリックします。

  4. [ログイン中のインスタンス] リストで、ターゲットクラスターの名前をクリックします。ターゲットデータベースの名前を見つけてダブルクリックし、管理します。

    1

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