求教tidb怎么还原到指定时刻点

我查资料说binlog可以还原到指定时刻点,可是我在官网并没有找到还原到指定时刻点的操作步骤,有人可以给我个具体操作步骤的链接吗

1 个赞

可以看看reparo恢复:
https://docs.pingcap.com/zh/tidb/stable/tidb-binlog-reparo

这个操作是在gc的时间范围内,利用mvcc机制,tidbbinlog 可以设置 snapshot导出历史的数据

整库恢复
1、 binlog+ reparo

2、 br+cdclog
单表恢复:
利用mvcc机制
1、 flashback table /recover table
2、 设置tidb_snapshot 时间点
3、 select 。。。as of timestamp

1 个赞

另外目前在开发的 PiTR 功能恢复到任意时间点,可能会在 6.0 以实验特性发布,再下一个版本 GA。

drainer怎么进行备份

https://docs.pingcap.com/zh/tidb/v5.2/tidb-binlog-overview#注意事项 看一下这个
https://github.com/pingcap/tidb-binlog/blob/master/proto/binlog.proto

整库恢复到某一时间点 采用 binlog+ reparo 吧

drainer 等同于 Mysql 的binlog ,,如果你没装的话,就不会有这个 log信息

那只能依靠 修改 GC_lifeTime 来延长历史数据的寿命,然后通过 snapshot 或者 dumpling 的方式,把数据导出来,在考虑怎么去还原了

我如果部署集群的时候已经弄好drainer节点了,是不是直接执行./driner就可以进行备份了呢

drainer 必须在操作之前装好, 这样才能抓取所有的操作数据,生成 log信息

目前这个阶段能获取到的,是装好之后的,这没啥用了吧? :joy:

就是不用运行./drainer,它会在我进行完sql语句自动进行备份吗

恩,是的
但是你需要指定好,drainer 的运行环境和配置信息, 所以最好参考下:
https://docs.pingcap.com/zh/tidb/stable/tidb-binlog-overview
这个是部署和使用指南
https://docs.pingcap.com/zh/tidb/stable/deploy-tidb-binlog

如果数据量不大,建议 用个磁盘 做 log信息记录就好了

1 个赞

我就第一次启动集群的时候生成了一个binlog文件,后面在执行sql语句,就没再生成过binlog文件了

文件大小有变化就行啊,一般默认的一个文件,可以包含很多 DDL和 DML 操作的,观察下看看

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。