TiDB Binlog 刷新机制以及重启问题

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:V3.0.7
  • 【问题描述】:传统mysql 对于二进制文件有 Flush logs的操作,会生成新的二进制文件。Tidb 并不支持Flush logs操作,于是我便想到是否drain restart后是否会和mysql restart一样在重开一个二进制文件,经自己实践,未成功,且此二进制文件并不能记录。1、请帮忙查看下drain restart后日志不可记录原因。2、有什么操作能和Mysql 的flush logs 相同

问题1,是我自己看错了,不好意思

目前还没有提供 flush log ,我们评估一下需求,麻烦提供具体的场景和适用范围。

误操作的数据恢复,不一定需要全量恢复的那种。总不见得我日后从几百G的一个binlog里面去找出来吧

清空文件可行吗

  1. 如果是误操作, TiDB 有其他的办法来 recover ,在 3.0 里面提供了 recover table 特性,如果 drop table 数据还没有 gc ,就可以通过 recover table 进行恢复;

https://pingcap.com/docs-cn/stable/reference/sql/statements/recover-table/#recover-table
2. 如果需要全局数据回滚或者 session 数据回滚,可以通过 snapshot 设置时间,然后通过设置 snapshot 时间说,让某个 session 恢复到指定时间,这里也是要防止被 GC 。

https://pingcap.com/docs-cn/stable/how-to/get-started/read-historical-data/#示例

万分感谢

如果问题已经解决,新问题麻烦重新创建 issue 。

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