MySQL调整或删除binlog

mysql基于binlog进行复制,一般用于复制的配置类似这样:

1
2
3
4
5
6
7
8
9
10
####replaction########
server-id=17
#log-slave-updates
log-bin=mysql-bin
log-bin-index=mysql-bin.index
binlog_cache_size=4M
#binlog-format=MIXED
expire_logs_days=10
max_binlog_size=1024M
sync_binlog=0

某次测试服上,开启了binlog,造成大量的binlog日志写满磁盘(容器10GB),mysql发生死锁。
由于需要binlog调试sql语句不能关闭binlog,所以先减少binlog保存日期比如2天,并且删除之前保留的binlog。
binlog保留时间由10天降低到2天:

1
2
3
4
5
6
7
8
9
mysql> show global variables like 'expire_logs_days';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| expire_logs_days | 10 |
+------------------+-------+
1 row in set (0.00 sec)

mysql> set global expire_logs_days=2;

删除2015-11-29之前的binlog:

1
mysql> PURGE BINARY LOGS BEFORE '2015-11-29 00:00:00';
----------------本文结束 感谢阅读----------------