tencent cloud

TDSQL Boundless

产品动态
产品简介
产品概述
应用场景
产品架构
实例类型
兼容性说明
自研内核
内核概述
内核版本更新动态
功能类特性
性能类特性
产品计费
计费概述
购买方式
价格详情
续费说明
欠费说明
退费说明
快速入门
创建实例
连接实例
用户指南
数据迁移
数据同步/订阅
实例管理
配置变更
参数配置
账号管理
安全组
备份与恢复
数据库审计
标签管理
实践教程
Online DDL 的技术演进与使用实践
锁机制解析与问题排查实践
数据智能调度及相关性能优化实践
TDSQL Boundless 选型指南与实践教程
开发指南
开发指南(MySQL 兼容模式)
开发指南(HBase 兼容模式)
性能调优
性能调优概述
SQL 调优
DDL 调优
性能白皮书
性能概述
TPC-C 测试
Sysbench 测试
API 文档
History
Introduction
API Category
Making API Requests
Instance APIs
Security Group APIs
Task APIs
Backup APIs
Rollback APIs
Parameter APIs
Database APIs
Data Types
Error Codes
通用参考
系统原理
SQL 参考
数据库参数说明
TPC-H 基准测试数据模型参考
错误码信息
安全与合规
常见问题
服务协议
服务等级协议
服务条款
隐私政策
数据处理和安全协议
联系我们
词汇表

库表回收站

PDF
聚焦模式
字号
最后更新时间: 2026-03-06 18:48:23

概述

TDSQL Boundless 回收站功能提供数据安全保障机制,当用户误删除表时,可以通过回收站快速恢复数据。系统通过一张数据字典表,存储被删除的数据库对象信息(包括数据库和表等信息),支持数据恢复操作。

工作原理

当启用回收站功能后,执行 DROP TABLE 操作时,系统会自动转换为RENAME TABLE db.t TO __tdsql__recycle_bin__.<RECYCLED_TABLE>,将被 DROP 的表移到__tdsql__recycle_bin__中。
恢复表时执行反向操作,执行RENAME TABLE __tdsql__recycle_bin__.<RECYCLED_TABLE> TO db.t,将被 DROP 的表恢复到原来的数据库中。

使用限制

不支持指定库恢复到任意时刻。
不支持库级别的回收和恢复。
不支持库的触发器、function、存储过程的回收与恢复。
不支持普通用户恢复表。
不支持单独回收索引或者恢复索引。
不支持分区表的某个子分区(含一级和二级)的回收与恢复。
不支持临时表。
不支持指定 DROP 表前的表名来执行 Flashback Query。
不支持与 Log Service 同时开启。回收站功能会将 DROP TABLE 操作转换为 RENAME TABLE,与依赖 binlog 进行数据同步的功能存在互斥关系。因此,以下场景不支持开启回收站:
已开启 binlog 的实例。
已配置灾备实例的主实例。
说明:
如需使用回收站功能,请先确认实例未开启 Log Service(binlog),且未关联灾备实例。若强制开启,可能导致灾备同步异常或数据不一致。

使用说明

当打开回收站功能后,用户删除的表默认被放入回收站中(也意味着数据空间并未释放),除非用户手动清除(PURGE)或者对象定期被数据库系统删除。

开启回收站功能

开启回收站
tdsql> SET PERSIST tdsql_recycle_bin_enabled=1;
关闭回收站
tdsql> SET PERSIST tdsql_recycle_bin_enabled=0;
说明:
回收站功能默认关闭,开启后删除的表会自动进入回收站。
tdsql_recycle_bin_enabled为全局变量。

查看回收站表信息

tdsql>SHOW RECYCLEBIN;
返回结果示例:
tdsql > SHOW RECYCLEBIN;
+-----------+---------------+--------------+--------------------------------+---------------------+---------------------+
| tindex_id | origin_schema | origin_table | recycle_table | drop_time | purge_time |
+-----------+---------------+--------------+--------------------------------+---------------------+---------------------+
| 53135 | sbtest | sbtest1_*** | bin$zxrh/bsnned9vygu4ioafg==$1 | 2026-01-14 16:19:54 | 2026-01-21 16:19:54 |
+-----------+---------------+--------------+--------------------------------+---------------------+---------------------+
1 row in set (0.01 sec)
字段说明
参数
说明
tindex_id
表对象 ID。
origin_schema
原数据库名。
origin_table
原表名。
recycle_table
回收站中的表名。
命名规则说明: 由于回收站需要集中管理来自不同数据库被删除的表,系统采用特定编码确保表名全局唯一。编码格式为:bin$base64(md5(__ + tdsql_ + {db_name} + {table_name}))${version},其中${version}为递增数值标记,用于区分同一表名的多次删除记录。
drop_time
删除时间。
purge_time
自动清理时间(默认7天后)。

恢复表

语法
FLASHBACK TABLE $recycle_table_name TO BEFORE DROP [RENAME TO $new_table_name];
按照指定的方式恢复表。如果有同名表,会报错。
可以指定:
$recycle_table: 表进入回收站后的别名。
$new_table_name:表恢复时的新命名。
说明:
权限要求: 需要具备原表的操作权限,或拥有管理员/超级用户权限。
使用示例
-- 恢复表并重命名
tdsql> FLASHBACK TABLE `bin$zxrh/bsnned9vygu4ioafg==$1` TO BEFORE DROP RENAME TO sbtest11;

直接删除表(不再转存入回收站库)

DROP TABLE $NAME PURGE;

清理回收站

清理特定表
PURGE RECYCLEBIN $recyele_table_name;
清空整个回收站
PURGE RECYCLEBIN;

相关参数

参数名
类型
默认值
说明
tdsql_recycle_bin_enabled
bool
0
是否开启回收站。
0(默认值):关闭。
1:开启
tdsql_recycle_bin_max_size
ulong
18446744073709551615
回收站最大对象数量限制。
tdsql_recycle_bin_drop_if_exceed_limit
ulong
1
超过限制时是否 DROP 表。
0:否。
1(默认值):是。
tdsql_recycle_bin_retention
ulong
604800
回收站对象保留时间(秒),默认7天,超过时间的表将被自动清理。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈