MySQL binlog日志清理的方案分享

 更新时间:2024年01月10日 11:19:17   作者:菜鸟程序员a  
Binlog日志非常重要,但是占用的磁盘空间也很大,我们也需要定期的去清理二进制日志,在MySQL数据库中,提供了自动清理Binlog日志的参数,本文给大家详细介绍了MySQL binlog日志清理方案,需要的朋友可以参考下
# 登录mysql数据库
mysql -u root –p
 
# 查看binlog是否开启,log_bin的状态为ON,表明binlog日志开启
show variables like 'log_%';
 
# 查看binlog日志文件大小,单位bytes
show binary logs;
 
# 显示binlog的过期时间,mysql5版本参数为expire_logs_days(默认值为0,标识从不删除),mysql8版本参数为binlog_expire_logs_seconds(默认值为2592000(30天),单位秒)
show variables like '%expire%';

1 手工清除binlog

删除binlog日志文件,切勿删除正在使用的binlog 所以删除旧的即可,不要全删。 不要轻易手动去删除binlog(指的是rm命令), 会导致binlog.index和真实存在的binlog不匹配,推荐使用purge命令予清除历史文件(purge命令目前来说不区分版本)。

# 将mysql-bin.009560之前的binlog清掉
purge binary logs to 'mysql-bin.009560';
 
# 指定时间之前的binlog清掉
purge binary logs before '2023-08-01 00:00:00';

2 MySQL5版本

2.1 临时生效,重启后失效

# 设置保留7天
set global expire_logs_days=7;
# 触发自动清理
flush logs;

2.2 永久有效,需要重启

修改配置文件my.cnf文件: vim /etc/my.cnf,在[mysqld]标签内增加如下内容

expire_logs_days=7
max_binlog_size=1024M

修改保存后,以下3种情况才生效:

  • MySQL启动时
  • 手动执行flush logs
  • 当binlog大小超过max_binlog_size
# 执行命令是配置生效
flush logs;

3 MySQL8版本

3.1 临时生效,重启后失效

# 设置保留7天
set global binlog_expire_logs_seconds=7*60*60*24;
# 触发自动清理
flush logs;

3.2 永久有效,需要重启

修改配置文件my.cnf文件: vim /etc/my.cnf,在[mysqld]标签内增加如下内容

# 设置保留7天
binlog_expire_logs_seconds=604800
max_binlog_size=1024M

生效条件见2.2模块

以上就是MySQL binlog日志清理方案详解的详细内容,更多关于MySQL binlog日志清理的资料请关注脚本之家其它相关文章!

相关文章

  • MySQL的Grant命令详解

    MySQL的Grant命令详解

    mysql中可以通过Grant命令为数据库赋予用户权限,这里简单介绍下Grant的使用方法,需要的朋友可以参考下
    2013-10-10
  • MySQL中InnoDB存储引擎的锁的基本使用教程

    MySQL中InnoDB存储引擎的锁的基本使用教程

    这篇文章主要介绍了MySQL中InnoDB存储引擎的锁的基本概念,是MySQL入门学习中的基础知识,需要的朋友可以参考下
    2015-11-11
  • mysql存储emoji表情步骤详解

    mysql存储emoji表情步骤详解

    在本篇内容中小编给大家整理了关于mysql存储emoji表情的详细步骤以及知识点,需要的朋友们学习下。
    2019-03-03
  • MySQL数据库优化经验详谈(服务器普通配置)

    MySQL数据库优化经验详谈(服务器普通配置)

    同时在线访问量继续增大 对于1G内存的服务器明显感觉到吃力严重时甚至每天都会死机 或者时不时的服务器卡一下 这个问题曾经困扰了我半个多月MySQL使用是很具伸缩性的算法,因此你通常能用很少的内存运行或给MySQL更多的被存以得到更好的性能。
    2011-03-03
  • MySQL 8.2 Command Line Client打开时一闪而过闪退问题的解决

    MySQL 8.2 Command Line Client打开时一闪而过闪退问题

    MySQL8.2安装成功后,发现打开MySQL 8.0 Command Line Client时出现一闪而过,打不开的情况,所以下面这篇文章主要给大家介绍了关于MySQL 8.2 Command Line Client打开时一闪而过闪退问题的解决,需要的朋友可以参考下
    2024-01-01
  • mysql sum(if())和count(if())的用法说明

    mysql sum(if())和count(if())的用法说明

    这篇文章主要介绍了mysql sum(if())和count(if())的用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • mssql转换mysql的方法小结

    mssql转换mysql的方法小结

    mssql转换mysql的方法小结,需要的朋友可以参考下。
    2011-03-03
  • mysql中key 、primary key 、unique key 与index区别

    mysql中key 、primary key 、unique key 与index区别

    这篇文章主要介绍了mysql中key 、primary key 、unique key 与index区别的相关资料,需要的朋友可以参考下
    2016-10-10
  • Mysql Data目录和 Binlog 目录 搬迁的方法

    Mysql Data目录和 Binlog 目录 搬迁的方法

    刚开始安装时使用了默认目录,使用一段时间,数据慢慢变在,发现当前设置的目录空间不够时,就要搬迁数据到另一个目录了
    2011-10-10
  • 一文了解MYSQL三大范式和表约束

    一文了解MYSQL三大范式和表约束

    范式是"符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度",下面这篇文章主要给大家介绍了关于MYSQL三大范式和表约束的相关资料,需要的朋友可以参考下
    2022-04-04

最新评论