随着mysql的运行,其binlog日志会越来越多,占用的磁盘会越来越大。
我们需要定期清理这些过期的binlog日志。
处理方法主要有两种:
1、自动删除
2、手动删除
1、自动删除
a,修改my.cnf参数
需要更改其配置文件my.cnf,添加参数expire_logs_days = 10,单位是天。
b,该参数支持动态修改,方法如下:
mysql> show
var
iables like
'%expire%'
;
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| expire_logs_days |
0
|
+------------------+-------+
1
row
in
set
(
0.00
sec)
mysql>
set
global expire_logs_days=
10
;
Query OK,
0
rows affected (
0.00
sec)
2、手工删除
当然我们可以手动删除binlog日志文件,但是这样并不会更新
mysql-bin.index
我们可以利用mysqlbinlog删除工具purge来删除并更新。
查看帮助:
mysql>help purge;
Name: 'PURGE BINARY LOGS' Description: Syntax:
PURGE { BINARY | MASTER } LOGS { TO 'log_name' | BEFORE datetime_expr }
Examples: PURGE BINARY LOGS TO 'mysql-bin.010';
PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26';
mysql>purge binary logs before '***';
这样我们就可以删除一些特定的binlog日志。