📣

TiDB Cloud Serverless が
Starter
に変わりました!このページは自動翻訳されたものです。
原文はこちらからご覧ください。

フラッシュバックデータベース

TiDB v6.4.0 ではFLASHBACK DATABASE構文が導入されました。3 FLASHBACK DATABASE使用すると、ガベージコレクション (GC) の有効期間内にDROPステートメントによって削除されたデータベースとそのデータを復元できます。

履歴データの保持期間は、システム変数tidb_gc_life_time設定することで設定できます。デフォルト値は10m0sです。現在のsafePoint 、つまりGCが実行された時点までを照会するには、次のSQL文を使用します。

SELECT * FROM mysql.tidb WHERE variable_name = 'tikv_gc_safe_point';

tikv_gc_safe_point回目以降にDROPでデータベースが削除されていれば、 FLASHBACK DATABASE使用してデータベースを復元できます。

構文

FLASHBACK DATABASE DBName [TO newDBName]

概要

FlashbackDatabaseStmt
FLASHBACKDatabaseSymDBNameFlashbackToNewName
FlashbackToNewName
TOIdentifier

注記

  • tikv_gc_safe_point回目より前にデータベースが削除された場合、 FLASHBACK DATABASEステートメントを使用してデータを復元することはできません。5 FLASHBACK DATABASE目のステートメントはERROR 1105 (HY000): Can't find dropped database 'test' in GC safe point 2022-11-06 16:10:10 +0800 CSTと同様のエラーを返します。

  • FLASHBACK DATABASEステートメントを使用して、同じデータベースを複数回リストアすることはできません。3 でリストアされFLASHBACK DATABASEデータベースは元のデータベースと同じスキーマ ID を持つため、同じデータベースを複数回リストアするとスキーマ ID が重複します。TiDB では、データベースのスキーマ ID はグローバルに一意である必要があります。

  • DROPによって削除されたtestデータベースを復元します。

    DROP DATABASE test;
    FLASHBACK DATABASE test;
  • DROPによって削除されたtestデータベースを復元し、名前をtest1に変更します。

    DROP DATABASE test;
    FLASHBACK DATABASE test TO test1;

MySQLの互換性

このステートメントは、MySQL 構文に対する TiDB 拡張です。

このページは役に立ちましたか?