0


mysql binlog 日志自动清理及手动删除

1、查看日志文件的文件名以及在那里
show binary logs;

2、手动清除binlog文件
以文件为参考物
purge master logs to 'mysql-bin.009'; ‘mysql-bin.009’之前的全部被清除,不包含mysql-bin.009

以时间为参考物
PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 10 DAY); //删除10天前的MySQL binlog日志

删除所有
reset master; //也可以重置master,删除所有binlog文件:

3、配置操作

关闭binlog, 修改/etc/my.cnf 用#将其注释掉
log-bin=mysql-bin
binlog_format=mixed

或修改
expire_logs_days,x是自动删除的天数,一般将x设置为短点,如10
expire_logs_days = x //二进制日志自动删除的天数。默认值为0,表示“没有自动删除”

直接在mysql里设置expire_logs_days
show variables like '%log%';
set global expire_logs_days = 10;

4.清除binlog对从mysql的影响
如果您有一个活性的从属服务器,该服务器当前正在读取您正在试图删除的日志之一,则本语句不会起作用,而是会失败,并伴随一个错误。
不过,如果从属服务器是休止的,并且您碰巧清理了其想要读取的日志之一,则从属服务器启动后不能复制。
当从属服务器正在复制时,本语句可以安全运行。您不需要停止它们。

标签: mysql 数据库

本文转载自: https://blog.csdn.net/u014707607/article/details/131706874
版权归原作者 lilin01003 所有, 如有侵权,请联系我们删除。

“mysql binlog 日志自动清理及手动删除”的评论:

还没有评论