MySQL日志保留策略:设置binlog日志保存天数、文件大小限制
一、查看当前binlog保留时长,文件大小限制
代码语言:javascript复制## 查看binlog的保留时长[expire_logs_days]
## 0表示永久保留
mysql> show variables like 'expire_logs_days';
## 查看binlog的文件大小限制[max_binlog_size]
## 1073741824
mysql> show variables like 'max_binlog_size';
二、修改保留时长 文件大小
临时生效:
这种方法调整后,立即生效,但是数据库重启后,会失效
## 设置日志保留时长为30天
mysql> set global expire_logs_days=30;
Query OK, 0 rows affected (0.00 sec)
## 将max_binlog_size设置为500M
mysql> set global max_binlog_size = 524288000;
Query OK, 0 rows affected (0.00 sec)
mysql> flush logs;
Query OK, 0 rows affected (0.01 sec)
mysql> show variables like 'expire_logs_days';
永久生效(推荐):
修改my.cnf文件,永久生效,数据库启动的适合会自动加载该文件
## 打开my.cnf配置文件
[root@zxy_slave1 mysql]# vim /etc/my.cnf
## [mysqld]模块下添加:expire_logs_days
[mysqld]
expire_logs_days = 30
max_binlog_size = 500M
三、手动清理binlog
代码语言:javascript复制# 两种方式 一种按时间,一种按照文件名称
## 将mysql-bin.000010之前的日志清理掉
mysql> purge binary logs to 'mysql-bin.000010';
Query OK, 0 rows affected (0.01 sec)
## 删除2022-04-21 18:08:00之前的binlog日志
mysql> purge binary logs before '2022-04-21 18:08:00';
Query OK, 0 rows affected, 1 warning (0.02 sec)