参数名 | 动态 | 类型 | 默认 | 参数值范围 | 说明 |
txsql_recycle_bin_enabled | yes | bool | OFF | ON/OFF | 回收站的开关。 |
txsql_recycle_bin_db_not_visible | yes | bool | ON | ON/OFF | 控制__txsql_recycle_bin__数据库对非 tencentroot 用户不可见对开关。 |
txsql_recycle_scheduler_interval | yes | ulong | 0 | 0-18446744073709551615 | 单位:秒,回收站内自动清理的时间间隔,默认为0,表示不进行自动清理。 |
txsql_recycle_bin_retention | yes | ulong | 604800 | 0-18446744073709551615 | 单位:秒,决定放入回收站的表隔多久才被自动清理,默认为604800秒(一周)。 |
txsql_recycle_bin_max_size | yes | ulong | 18446744073709551615 | 0-18446744073709551615 | 设置回收站最大的容量,超过该容量会报错。 |
txsql_drop_if_exceed_recycle_limit | yes | bool | OFF | ON/OFF | 设置在超过回收站的容量时是否直接删除。如果超过回收站的最大容量,设置为 OFF 会直接报错,不会删除表。设置为 ON,超过最大容量后,会直接删除表,然后提示 warning 信息。 |
clear <TABLE_NAME> from recycle_bin;或者call sys.recycle_bin_purge_table('<RECYCLE_NAME>');
CREATE TABLE IF NOT EXISTS recycle_bin_info (table_name varchar(64) NOT NULL, --回收之后,在回收站中的表名origin_schema VARCHAR(64) NOT NULL, --回收之前所在的 dborigin_table VARCHAR(64) NOT NULL, --回收之前的表名drop_time timestamp NOT NULL, --被 drop 的时间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
set global txsql_recycle_bin_enabled=on;
可以打开回收站功能。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};
如果指定 timestamp,支持从回收站还原指定表名以及删除时间的表。如果指定 recycle_name,因为 recycle_name 是唯一的,所以前面的 db 和 table 不用于查找,用 recycle_name 查找到表后 restore 的表为 db.table。因此可以用此命令恢复到其他 schema 或者修改恢复后的表名。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;
可以强制删除表而不是放入回收站。
本页内容是否解决了您的问题?