MySQL清理binlog日志的方法

MySQL清理binlog日志的方法,第1张

永久生效:修改mysql的配置文件my.cnf,添加binlog过期时间的配置项: expire_logs_days=30 ,然后重启mysql,这个有个致命的缺点就是需要重启mysql。

临时生效:进入mysql,用以下命令设置全局的参数: set global expire_logs_days=30

(上面的数字30是保留30天的意思。)

可以直接删除 binlog 文件,但是可以通过 mysql 提供的工具来删除更安全,因为 purge 会更新 mysql-bin.index 中的条目,而直接删除的话, mysql-bin.index 文件不会更新。 mysql-bin.index 的作用是加快查找 binlog 文件的速度。

命令查看 binlog 文件

删除举例:

方法一: 修改配置文件

重启mysql生效

方法二:修改mysql变量

该方法在下次启动mysql后失效,也就是说重启mysql后expire_logs_days的值又还原为0了,

该方法的好处在于不用重启mysql就可以生效

如果没有主从复制,可以通过reset master的方式,重置数据库日志,清除之前的日志文件:

 代码如下

mysql>reset master

还有一各就是在my.cnf里配置。

 代码如下

expire_logs_days = 3

二进制日志自动删除的天数。这里设置了自动清除3天前的logs。

默认值为0,表示“没有自动删除”。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/425256.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-26
下一篇2023-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存