关键字
binlog、过期时间
适用产品
AnyBackup 7.0.x
目的
AnyBackup 7.0 备份 MySQL 数据库要求开启 binlog 日志并配置日志模式为 ROW 模式。有一部分环境 MySQL 数据库由于业务原因,数据量增长迅速,binlog 日志会增长很快,占用大部分磁盘空间,需要配置过期时间并自动删除 binlog 日志。
解决方案
为了配置 binlog 日志过期时间并自动删除,请按照以下步骤执行:
1. 登录 MySQL 数据库,执行命令如下:
mysql -uroot -p
2. 执行如下命令查看 binlog 过期时间,expire_logs_days 值为 0 表示所有 binlog 日志永久都不会失效,不会自动删除。
show variables like 'expire_logs_days'
3. 修改数据库 expire_logs_days 参数,配置 binlog 日志过期时间,Linux 系统环境下编辑 my.cnf 文件,Windows 环境下编辑 MySQL 配置文件 my.ini。在配置文件的 [mysqld] 下添加如下两行, 添加完成后保存退出。
max_binlog_size=1024m
expire_logs_days=7
注意: expire_logs_days 参数设置过期天数,max_binlog_size 参数设置日志文件的最大值,可根据需求配置。
4. 重启 MySQL 数据库服务,使得配置生效。
注意:设置之后不会立即清除,触发条件是 binlog 大小超过 max_binlog_size 参数所设置的值。
更多信息
关于MySQL binlog 设置过期时间的更多信息,请参考官方文档介绍:expire_logs_days。