MYSQL随笔九 binlog日志清理

Posted 哭泣的馒头

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL随笔九 binlog日志清理相关的知识,希望对你有一定的参考价值。

show binary logs;

mysql> show variables like %expire%;
+--------------------------------+---------+
| Variable_name | Value |
+--------------------------------+---------+
| binlog_expire_logs_seconds | 2592000 |
| disconnect_on_expired_password | ON |
| expire_logs_days | 0 |
+--------------------------------+---------+

查询上述参数后发现在MySQL 8.0.12版本中默认开启binlog日志并设置为binlog_format=row,
binlog失效日期参数为 binlog_expire_logs_seconds,默认30天过期。

注释:
在MySQL8.0 版本中新增参数binlog_expire_logs_seconds,可以精确到秒,而此前版本中expire_logs_days的单位为天,最小值为1,在
MySQL8.0 GA中此参数标记为deprecated 。
在MySQL 8.0 GA版本默认使用binlog_expire_logs_seconds,时间为2592000秒,30天。

若在MySQL启动时inlog_expire_logs_seconds和expire_logs_days 都没设置值,则使用默认值的 binlog_expire_logs_seconds值,即30
天;
若在MySQL启动时binlog_expire_logs_seconds或者expire_logs_days其中一个设置为非0值则非0值的
参数作为binlog日志失效期;
若在启动时binlog_expire_logs_seconds和expire_logs_days参数都设置为非0值则使用binlog_expire_logs_seconds值,
expire_logs_days值则失效并对其发出告警信息。

若要关闭自动清除binlog文件的功能则需要显示指定binlog_expire_logs_seconds=0 并且不设置expire_logs_days的值。
为了兼容早期版本若显示指定了expire_logs_days =0而没有指定binlog_expire_logs_seconds的值
此时自动清理binlog日志则是 禁用 的,并且此时binlog_expire_logs_seconds的默认值不适用。


以上是关于MYSQL随笔九 binlog日志清理的主要内容,如果未能解决你的问题,请参考以下文章

mysql清理binlog日志

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

mysql定时清理binlog

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

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

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