tencent cloud

TDSQL-C for MySQL

動向とお知らせ
製品アップデート
製品お知らせ
初心者ガイド
製品概要
プロダクト概要
製品の強み
適用シーン
製品アーキテクチャ
製品仕様
インスタンスタイプ
製品機能一覧
データベースのバージョン
リージョンとアベイラビリティゾーン
基本概念
利用制限
利用ガイドの推奨事項
自社開発カーネル
カーネル概要
カーネルバージョンのアップデート情報
カーネル最適化バージョン
機能特性
パフォーマンス関連機能
セキュリティカテゴリの機能
安定性機能
分析エンジン特性
カーネル問題のチェックと修復
購入ガイド
課金概要
製品価格
クラスタを作成する
構成変更説明
未払いについての説明
継続支払いの説明
返金ポリシー
従量課金から年/月単位サブスクリプションへの変換
従量課金からServerlessへの変換
付加価値サービスの課金説明
料金請求書の確認
クイックスタート
データベース監査
概要
監査インスタンス一覧
監査サービスを有効化する
監査ログの確認
ログ配信
事後アラーム設定
監査ルールの変更
監査サービスを変更する
監査サービスを停止する
監査ルールテンプレート
監査タスクの照会
サブユーザーへのデータベース監査利用権限付与
Serverlessサービス
Serverless入門
サーバーレス版クラスタの作成と管理
伸縮性スケーリング管理ツール
Serverlessリソースパック
マルチAZデプロイ
設定を変更する
よくあるご質問
Serverlessコスト見積ツール
操作ガイド
操作概要
コンソールでのクラスタページビューの切り替え
データベース接続
インスタンス管理
設定を変更する
インスタンス形態管理
クラスタ管理
読み取り専用インスタンス管理 
データベースプロキシ
アカウント管理
DMC
DMC(データベース管理ツール)
パラメータ設定
マルチAZデプロイ
グローバルデータベース
バックアップとリストア
操作ログ
データマイグレーション
パラレルクエリ
列ストレージインデックス CSI
分析エンジン
データベースセキュリティと暗号化
モニタリングとアラーム
SQLの基本操作
以下のコマンドを実行して、TDSQL-C for MySQLに接続してログインします
Tag
実践チュートリアル
TDSQL-C for MySQL データベース監査の等級保護実践
非InnoDBテーブル問題のワンクリック移行検出処理方法
DTSによるデータベースバージョンのアップグレード MySQL 5.7から8.0へ
TDSQL-C for MySQL 使用規範
新版コンソール
データベースプロキシの複数接続アドレスによる複数ROグループの実現
データベースプロキシのメリット
ストレージの課金モードの選び方
DTSによるリモートディザスタリカバリの構築
クラスタ用VPCの作成
データ復旧の方法
CPU使用率の高騰問題の解決方法
サブユーザーへの監視データ閲覧権限付与方法
ホワイトペーパー
セキュリティホワイトペーパー
性能ホワイトペーパー
トラブルシューティング
接続関連
性能関連
よくあるご質問
基本概念
購入と課金
サポートされるフォーマット
接続とネットワーク
機能特性
コンソールの操作
データベーステーブル
パフォーマンスとログ
データベース監査
TDSQL-C for MySQLとTencentDB for MySQLの違い
関連契約
SLA
利用規約
TDSQL-C ポリシー
プライバシーポリシー
データ処理と安全プロトコル
汎用参考
標準と認証
用語一覧
お問い合わせ

ごみ箱

PDF
フォーカスモード
フォントサイズ
最終更新日: 2025-12-30 16:14:39
ごみ箱(recycle bin)機能は、ユーザーによるdrop table操作やtruncate table操作の対象となったテーブルを回収可能な状態で格納することをサポートします。これにより、必要時にデータを復元可能とし、誤ったテーブル削除操作を防止できるほか、drop table操作によるIOへの影響を軽減できます。

サポートバージョン

カーネルバージョン TXSQL 8.0 3.1.15 以降。

適用シーン

ごみ箱にユーザーのdrop table操作やtruncate table操作の対象テーブルを格納するために使用され、データを誤って削除した後の復元不能な状況を回避します。

使用説明

パラメータ説明

パラメータ名
動的
タイプ
デフォルト
パラメータ値の範囲
説明
txsql_recycle_bin_enabled
yes
bool
OFF
ON/OFF
ごみ箱のスイッチ。
txsql_recycle_bin_db_not_visible
yes
bool
ON
ON/OFF
非 tencentroot ユーザーに対する __txsql_recycle_bin__ データベースの可視性を制御するスイッチ。
txsql_recycle_scheduler_interval
yes
ulong
0
0-18446744073709551615
単位:秒。ごみ箱内の自動クリーンアップ間隔です。デフォルト値は0(自動クリーンアップを実行しないことを意味します)となります。
txsql_recycle_bin_retention
yes
ulong
604800
0-18446744073709551615
単位:秒。ごみ箱に格納されたテーブルが自動クリーンアップされるまでの時間間隔を決定します。デフォルトは604800秒(1週間)です。
txsql_recycle_bin_max_size
yes
ulong
18446744073709551615
0-18446744073709551615
ごみ箱の最大容量を設定します。この容量を超えた場合、エラーが発生します。
txsql_drop_if_exceed_recycle_limit
yes
bool
OFF
ON/OFF
ごみ箱の容量を超えた場合に直接削除するかどうかを設定します。ごみ箱の最大容量を超えた場合、OFFに設定するとエラーが発生し、テーブルは削除されません。ONに設定すると、最大容量超過後にテーブルを直接削除し、ワーニング情報を表示します。

新しいデータベースの説明

__txsql_recycle_bin__:削除されたテーブルを格納するためのデータベースです。インスタンス起動時に__txsql_recycle_bin__という名前のデータベースが初期化され、ごみ箱専用データベースとして使用されます。__txsql_recycle_bin__はシステムレベルのデータベースであり、直接変更や削除はできません。
ごみ箱内のテーブルについては、直接 drop table ステートメントを実行することはできませんが、以下の構文を使用してクリアできます:
clear <TABLE_NAME> from recycle_bin;
または
call sys.recycle_bin_purge_table('<RECYCLE_NAME>');
<TABLE_NAME>:ごみ箱に格納される前のテーブル名。
<RECYCLE_NAME>:ごみ箱内のテーブル名。

新しいシステムテーブルの説明

mysql.recycle_bin_info:ごみ箱内のテーブル関連情報を表示するために使用されます。テーブルの定義は次のとおりです:
CREATE TABLE IF NOT EXISTS recycle_bin_info (
table_name varchar(64) NOT NULL, --削除後、ごみ箱内のテーブル名
origin_schema VARCHAR(64) NOT NULL, --ごみ箱に格納される前の元のデータベース
origin_table VARCHAR(64) NOT NULL, --ごみ箱に格納される前の元のテーブル名
drop_time timestamp NOT NULL, --ドロップされた時間
purge_time timestamp NOT NULL, --このテーブルがパージされる予定の時間
PRIMARY KEY(table_name),
KEY(purge_time),
KEY `idx_drop_time` (`drop_time`),
KEY `idx_schema_table` (`origin_schema`,`origin_table`)
) ENGINE=INNODB CHARACTER SET latin1 STATS_PERSISTENT=0 ROW_FORMAT=DYNAMIC TABLESPACE=mysql
指定のpurge_timeを超過すると、ごみ箱内の該当テーブルはパージされます。パラメータtxsql_recycle_bin_retentionでドロップされたテーブルの期限切れ時間を設定可能です。この変数は、ごみ箱に格納されたテーブルがtxsql_recycle_bin_retention秒後に自動クリーンアップスレッドによって削除されることを示します。
説明:
あるテーブルに対応するpurge_time = drop_time + txsql_recycle_bin_retentionです。

truncate tableのサポート

truncate table のテーブルはごみ箱に格納できます。
truncate table 制限事項:
temporary table はサポートしていません。
foreign key を持つテーブルはサポートしていません。
table属性を持つdata directoryとindex directoryはサポートしていません。

drop tables if exists をサポートしています。

drop tables if exists をサポートしており、存在するテーブルはごみ箱に格納され、存在しないテーブルには何も操作を行いません。

drop database をサポートしています。

drop database 時には、view、event、trigger、procedure、function、sequence の情報が失われる可能性があります。したがって、ごみ箱はデータが確実に回収されることのみを保証しますが、view、event、trigger、procedure、function、sequence の情報は失われる可能性があります。

使用文法の説明

rootアカウントを使用してset global txsql_recycle_bin_enabled=on;と設定すると、ごみ箱機能を有効にできます。
ごみ箱機能の有効化に成功すると、当該インスタンスのすべてのdrop tableテーブルは__txsql_recycle_bin__データベースに格納されます。show recycle_bin;またはselect mysql.recycle_bin_info;を使用して、ごみ箱内のすべての回収済みテーブルの関連情報を表示できます。
restore db.table from recycle_bin;は指定されたテーブルをごみ箱から復元します。同じ名前のテーブルが複数存在する場合、最も最近削除されたテーブルが返されます。
restore db.table from recycle_bin with {timestamp('expr')} {recycle_name $recycle_name};タイムスタンプを指定した場合、指定したテーブル名および削除時間のテーブルをごみ箱から復元することをサポートします。recycle_nameを指定した場合、recycle_nameは一意であるため、前述のdbおよびtableは検索に使用されず、recycle_nameでテーブルを検索した後、restoreされるテーブルはdb.tableとなります。したがって、このコマンドを使用して他のスキーマに復元したり、復元後のテーブル名を変更したりできます。
restore database db_name from recycle_bin;は指定されたデータベースのすべてのテーブルを復元します。同じ名前のテーブルが含まれている場合、エラーが発生します。
clear recycle_bin; ごみ箱全体をクリアします。
clear recycle_bin {all} {db.table} {before timestamp $time};指定したテーブル名または指定時刻より前のテーブルをクリアします。指定したテーブルが複数存在する場合、最も古いものが削除されます。allを同時に指定した場合、すべての同名テーブルが削除されます。
show recycle_bin; ごみ箱の情報を表示します。
drop ... without reycle_bin;はテーブルをごみ箱に入れるのではなく、強制的に削除することができます。
txsql_recycle_scheduler_intervalの起動条件(txsql_recycle_scheduler_interval > 0 && event_scheduler==on && txsql_recycle_bin_enabled==on)が満たされると、ごみ箱の自動クリーンアップスレッドは、txsql_recycle_scheduler_intervalごとにテーブルをスキャンし、purge_timeが最小のレコードを確認します。purge_time > now()の場合、当該テーブルはクリーンアップされます。

ヘルプとサポート

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

フィードバック