在生产环境中,如果在A时间update表t1数据,tidb在B时间执行GC,在C时间才发现表t1数据被误修改了;那么要怎么恢复update之前的数据?
时间关系:A< B < C
在生产环境中,如果在A时间update表t1数据,tidb在B时间执行GC,在C时间才发现表t1数据被误修改了;那么要怎么恢复update之前的数据?
时间关系:A< B < C
能想到的是只能通过br进行基于时间点的恢复
没有备份就恢复不了的
被清理了之后就无法还原A的数据了,属于是物理删除。如果系统是单集群的就没办法,如果带有从集群,可以考虑将从集群的GC调整到1个小时或者是24个小时,在误删之后快速恢复
没有备份的话就无法恢复,GC结束就代表已经物理删除了
GC结束就开始走物理删除流程了,但是也不一定删除,不过也没太好办法这个时间点恢复
看 gc_safe_point 的位置,前的就找不到了,后的就可以
嗯,这属于前期架构上的设计,可以避免这种误修改问题
我在想,raft log能不能解析出来
对,是的
是的,备份很重要,有备份很多误操作问题都可以解决
没有其他措施的情况,数据找不回来了。
可以试下,回放一下。
正式环境的话 gc时间要根据业务特点来调整大小 避免这种情况的发生, 另外备份还是很有必要搞的 br pitr ticdc~ 主打一个安全
只能通过之前的备份来进行恢复了