TiDB生成的二进制日志文件如何清理

【 TiDB 使用环境】生产环境

【概述】 场景 + 问题概述
TiDB v4.0.9中通过pump和drainer将二进制日志生成文件放到drainer上,现在文件越来越多,占用了大量的空间,不知道如何清理。是直接删除老的嘛,还是有其他方式。害怕直接删除老的会出现问题

【TiDB 版本】 TiDB v4.0.9

2 个赞

Drainer 输出 file 格式的增量数据可以用retention-time参数基于时间自动清理。
直接删除老的应该也没什么问题,只是增量备份。

1 个赞

不知expire_logs_days参数会不会进行关联性清理binlog

1 个赞

expire_logs_days应该只是和mysql兼容用的

1 个赞

retention-time没有用。直接删除可以的,但是有时候会导致drainer启动的时候报错。

1 个赞

对的,expire_log_days只是兼容mysql使用的,在TiDB上好像没有什么作用。

1 个赞

retention-time没有用是指设置了没生效吗,看看drainer的版本是多少,也是 v4.0.9吗,3.0版本是没有自动清理机制的。

1 个赞

drainer的版本也是V4.0.9,我试了expire_logs_days没法用,不知道你说的这个retention-time在那里设置,是直接配置到drainer的配置文件中嘛。没有找到这个参数。

1 个赞

参考下这里
https://github.com/pingcap/tidb-binlog/blob/v4.0.9/cmd/drainer/drainer.toml#L153

3 个赞

谢谢兄弟,果然可以。我自己没有仔细看。哈哈。

[syncer.to]
retention-time = 2

2 个赞

我设置了retention-time = 2,也reload了,为啥不清理历史的drainer binlog了

需要等待1个小时,参数才能生效

我当时是设置完成之后,第二天查看的时候发现起作用了。

这个参数1个小时生效一次,代码写死了

谢谢兄弟的确认,只能给一个人,改内容对我有用就给啦啦啦啦。

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