TiDB误删数据怎么恢复

如果数据库删了表,重新建了一个一摸一样的的表,假如还在gc 的时间段内,闪回 数据还能回来吗?

具体做了什么操作
部署配置的图发一下~

可以看下这个 专栏 - TiDB误删数据恢复 | TiDB 社区

可以的,先将gc 的时间调大更大一些,防止数据被gc掉了,将snapshot 设置到误操作最近的时间段 set session tidb_snapshot = ****,查询出来数据,将查询出来的数据按需进行恢复

可以的,先把snapshot回退到原表在的时间点,然后导出对应表,取消snapshot之后,重新导入原来的表即可

gc前 可以使用闪回功能找回数据。

在gc之前还是能导出指定时间的数据备份
./dumpling --snapshot “2024-07-02 17:12:45”

这个简单啊,FLASHBACK TABLE table_name [TO other_table_name]
上面的都太麻烦了

FLASHBACK TABLE | PingCAP 文档中心

可以的。一般gc大一点,要不误操作恢复时间有点麻烦,

1 个赞

看看mvcc是否有保存历史数据

gc时间搞大一点 ,给自己留的时间富裕点 :see_no_evil:

flashback table

gc时间设置长一点,能回来

这篇博文里的方案还挺全面

理论可以

GC设置12小时

先把gc调大,然后闪回恢复

首先就是把GC时间调整大一些,如果数据没有被GC,后面可以使用 dumpling+lightning 或者 闪回 进行操作