修改MySQL的bin-log日志过期时间要在主库上来做。如果mysql只有一个单节点,同样适用
查看当前过期时间
mysql> show variables like '%logs_days%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| expire_logs_days | 90 |
+------------------+-------+
1 row in set (0.00 sec)
修改过期时间
mysql> set global expire_logs_days=7;
Query OK, 0 rows affected (0.00 sec)
# 此方法立即生效
查看日志文件大小
mysql> show variables like 'max_binlog_size';
+-----------------+------------+
| Variable_name | Value |
+-----------------+------------+
| max_binlog_size | 1073741824 |
+-----------------+------------+
1 row in set (0.00 sec)
配置文件永久修改
# vim /etc/my.cnf
# 修改配置文件[mysqld]区域添加如下两行保存
expire_logs_days = 7
max_binlog_size = 500M
重启服务查后生效
mysql> show variables like 'max_binlog_size';
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| max_binlog_size | 524288000 |
+-----------------+-----------+
1 row in set (0.01 sec)
mysql> show variables like '%logs_days%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| expire_logs_days | 7 |
+------------------+-------+
1 row in set (0.00 sec)
解释:
1).expire_logs_days = 7 表示超过7点的bin-log日志文件会自动清理。
2).max_binlog_size = 500M 表示单个日志文件mysql-index.000002的大小超过500M后会自动生成一个新的mysql-index.000003来记录bin-log,以此类推。