文章目录
RECOVER数据删除恢复
一、Recover语法
二、数据恢复案例
RECOVER数据删除恢复
Doris为了避免误操作造成的灾难,支持对误删除的数据库/表/分区进行数据恢复,在drop table或者 drop database之后,Doris不会立刻对数据进行物理删除,而是在 Trash 中保留一段时间(默认1天,可通过fe.conf中catalog_trash_expire_second参数配置),管理员可以通过RECOVER命令对误删除的数据进行恢复。
一、Recover语法
RECOVER用于恢复之前删除的 database、table 或者 partition。支持通过name、id来恢复指定的元信息,并且支持将恢复的元信息重命名。可以通过 SHOW CATALOG RECYCLE BIN 来查询当前可恢复的元信息。
RECOVER的语法非常简单,常见如下:
#恢复数据库
RECOVER DATABASE db_name;
#恢复表
RECOVER TABLE [db_name.]table_name;
#恢复表分区
RECOVER PARTITION partition_name FROM [db_name.]table_name;
注意:
- 该操作仅能恢复之前一段时间内删除的元信息。默认为 1 天。(可通过fe.conf中catalog_trash_expire_second参数配置)。
- 可以通过 SHOW CATALOG RECYCLE BIN 来查询当前可恢复的元信息。
二、数据恢复案例
下面分别演示恢复数据库、恢复表、恢复表分区操作:
#删除数据库mydb
mysql> drop database mydb;
#恢复数据库mydb
mysql> recover database mydb;
#删除表mydb.tbl1
mysql> use mydb;
mysql> drop table mydb.tbl1;
#恢复表mydb.tbl1
mysql> recover table mydb.tbl1;
#查看表mydb.tbl2分区信息及分区p2中的数据
mysql> show partitions from tbl2\G;
mysql> select * from tbl2 partition p2;
#删除表mydb.tbl2分区p2
mysql> alter table tbl2 drop partition p2;
#查看表mydb.tbl2分区信息,已经缺少了p2分区
mysql> show partitions from tbl2\G;
#恢复表mydb.tbl2分区p2
mysql> recover partition p2 from mydb.tbl2;
#查看mydb.tbl2中的分区和数据,又恢复回来
mysql> show partitions from tbl2;
mysql> select * from tbl2 partition p2;
- 📢博客主页:https://lansonli.blog.csdn.net
- 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
- 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
- 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨