前言

MySQL中的binlog日志记录了数据库中数据的变动,便于对数据的基于时间点和基于位置的恢复,但是binlog也会日渐增大,占用很大的磁盘空间,因此,要对binlog使用正确安全的方法清理掉一部分没用的日志。

环境信息

MySQL 8.0.19

手动清理

  1. 查看主库和从库正在使用的binlog是哪个文件

    1
    2
    show master status
    show slave status
  2. 在删除binlog日志之前,首先对binlog日志备份,以防万一

    注意:时间一定不可以写错,以防将正在使用的binlog删除。

    1
    2
    //删除指定日期以前的日志索引中binlog日志文件`
    purge master logs before '2020-06-03 09:11:33'

自动清理

  1. 设置自动过期时间

    1
    2
    3
    4
    // 查询当前 binlog 过期时间
    show variables like 'binlog_expire_logs_seconds';
    // 设置自动过期时间
    set global binlog_expire_logs_seconds = '秒数';

写在最后

版本内容时间
v1.0.0正式成文2020-06-03 09:17:24