tencent cloud

TencentDB for MySQL

データベースのロールバック

Download
フォーカスモード
フォントサイズ
最終更新日: 2026-05-14 10:15:53

シナリオ

TencentDB for MySQLはユーザーのデータを一切変更しません。ユーザー個人の原因によるデータ破損は、ご自身でロールバックして復元できます。ロールバック機能を使用すると、Tencent Cloudプラットフォーム内のデータベースまたはテーブルに対してロールバック操作を実行できます。ロールバックはデータバックアップとログバックアップ(binlog)に基づいており、リアルタイムでのデータロールバックが可能です。
TencentDB for MySQLのロールバックは、定期的なスナップショットとリアルタイムのトランザクションログによる再構築を通じて、クラウドデータベースまたはテーブルを指定した時点に復元します。これにより、すべてのデータのタイムスライスが一貫していることを保証でき、その間、元のデータベースまたはテーブルへのアクセスは影響を受けません。ロールバック操作により、元のインスタンス内に新しいデータベースまたはテーブルが作成されます。ロールバック完了後、ユーザーは元のデータベースまたはテーブルと、新規作成されたデータベースまたはテーブルの両方を確認できます。

機能の仕組み

ロールバックは、直近のコールドバックアップと対応するbinlogに基づいて、指定した時点に復元します。

1. コールドバックアップシステムは毎日、MySQLのセカンダリサーバーからデータをエクスポートしてコールドバックアップシステムに保存します。
2. ロールバック時には、まずロールバックシステムからロールバック用インスタンスを1台申請し、次にコールドバックアップシステムからコールドバックアップデータをエクスポートして一時インスタンスにインポートします(ロールバック方式に応じて異なるデータをインポートします)。
3. ロールバックインスタンスはMySQLのマスターインスタンスとマスター/スレーブ関係を確立し、ロールバックする時間とデータベーステーブルを設定します。
4. ロールバック後のデータベーステーブルをMySQLのマスターインスタンスにコピーします。

制限事項

シングルノードのクラウドディスク版インスタンスはロールバックをサポートしていません。
マスターインスタンスのロールバックのみサポートしており、読み取り専用インスタンスと災害復旧インスタンスのロールバックはサポートしていません。
現在は指定したデータベーステーブルのロールバックのみサポートしており、ロールバック後のデータベーステーブルはソースインスタンスに書き戻されます(リネームが必要です)。インスタンス全体のロールバックはサポートしていません。
MySQL 5.6、5.7、8.0バージョンはロールバックをサポートしていますが、MySQL 5.5バージョンはロールバックをサポートしていません。MySQL 5.5バージョンはできるだけ早く上位バージョンにアップグレードすることをお勧めします。アップグレードについては、データベースエンジンバージョンのアップグレードを参照してください。
データベースレベルのロールバックでは、以下のオブジェクトタイプはインポートされません:外部キー制約、check制約、トリガー、ストアドプロシージャ、ユーザービュー、イベント。

注意事項

現在のロールバック時間は秒単位で設定できます。ミリ秒範囲のルールは以下の通りです:ロールバック時間を2025-08-05 23:59:59に設定した場合、2025-08-05 23:59:59:000およびそれ以降のミリ秒単位の時間は復元範囲に含まれません。
ロールバック機能は、自動バックアップで設定されたバックアップ周期と保持日数に関連しています。保持日数内かつバックアップ周期内のデータバックアップ+ログバックアップ(binlog)に基づいてロールバックを提供します。バックアップ周期の設定については、MySQLデータの自動バックアップを参照してください。データセキュリティを確保するため、自動バックアップのバックアップ周期は、MySQLを週に少なくとも2回バックアップするように設定してください。
年間・月額プランのインスタンスが未だ有効期限内であっても、アカウントが料金滞納状態になると、バックアップ関連サービスは制限され、データベースのロールバックが禁止されます。ロールバック操作を行う必要がある場合は、アカウント残高が正数になるまでチャージしてください。
ロールバックが必要なデータベーステーブルが存在しない、または誤って削除された場合は、まずデータベースにログインしてデータベーステーブルを作成し、その後コンソールを使用してロールバックを行ってください。
ロールバック前のコールドバックアップに該当テーブルが含まれていない場合、災害復旧は失敗します。
バックアップの復旧可能な時間は、現在時刻から最も遠い有効な物理バックアップまたはフル論理バックアップから計算されます。実際のビジネスニーズに基づいて、バックアップの保持期間を適切に設定することをお勧めします。

操作手順

1. MySQLコンソールにログインし、インスタンスリストでロールバックが必要なインスタンスを1つまたは複数選択し、その他 > ロールバックを選択します。

説明:
単一インスタンスのみをロールバックする場合は、インスタンス管理ページに移動し、右上のその他 > ロールバックをクリックすることもできます。
同一APPID下で、最大5つのロールバックタスクを同時に開始できます。
2. ロールバックページで、ロールバックするデータベーステーブルを選択し、次へ:ロールバック時間とデータベーステーブル名を設定をクリックします。

ロールバック方法:
通常:インスタンスのフルバックアップをインポートし、選択したデータベース、テーブルをロールバックします。このロールバックモードには制限はありませんが、ロールバック速度は遅くなります。
高速:フルバックアップ+データベースレベルのbinlogを使用します。クロスデータベース操作があり、関連するデータベースが同時に選択されていない場合、ロールバックが失敗する可能性があります。
超高速:フルバックアップ+テーブルレベルのbinlogを使用します。クロステーブル操作があり、関連するテーブルが同時に選択されていない場合、ロールバックが失敗する可能性があります。
説明:
現在、データベーステーブル名が中国語、数字、英文字、特殊文字-.+=::@_/[ ]( )( )およびそれらの組み合わせで、長さが1から60文字のデータベーステーブルのロールバックのみサポートしています。他の特殊文字を含むデータベーステーブル名のロールバックは現在サポートされていません。
指定データベーステーブルロールバックモードでは、同一インスタンスで同時にロールバックできるデータベースまたはテーブルは500個までです。
ロールバックでbinlogを実行する際、他のデータベーステーブルを含む複合操作が関係している場合、SQL文が失敗する可能性があります。
ロールバックでbinlogを実行する際、テーブルが外部キーなどの制約に関与している場合、SQL文が失敗する可能性があります。
3. ロールバック後のデータベーステーブル名とロールバック時間を設定し、ロールバックをクリックします。

説明:
各インスタンスで設定できるロールバック時間は1つだけです。
一括ロールバック時間の設定を選択すると、すべてのデータベーステーブルは一括ロールバック時間に従います。
単一テーブルロールバック時間の設定を選択すると、データベーステーブルはそれぞれ設定したロールバック時間に従います。
ロールバック後のデータベーステーブル名は、64文字以内の英字、数字、小数点(.)、ハイフン(-)、アンダースコア(_)、ドル記号($)のみサポートしています。
4. 提出が成功すると、操作ログ > ロールバックログページに戻り、ロールバックの進捗を確認できます。詳細を表示をクリックすると、ロールバックログをリアルタイムで確認できます。
5. ロールバックが完了したら、DMC > データベースリストページを選択すると、元のインスタンスにロールバック後の新しいデータベーステーブルが表示されます。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック