MySQL日志 binlog

2023-10-18 16:41:37 浏览数 (3)

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';

二、修改保留时长 文件大小

临时生效:

这种方法调整后,立即生效,但是数据库重启后,会失效

代码语言:javascript复制
## 设置日志保留时长为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文件,永久生效,数据库启动的适合会自动加载该文件

代码语言:javascript复制
## 打开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)

0 人点赞