MySQL之所以产生二进制文件是因为配置文件(/etc/my.cnf)中设置了参数
log-bin=mysql-bin

有的时候不想让mysql服务停止,那我们可以用下面的方法来删除binary文件。
我们可以看到产生了二进制文件

01.mysql>showbinarylogs;(或者showmasterlogs;)

02.+------------------+------------+

03.|Log_name|File_size|

04.+------------------+------------+

05.|mysql-bin.000001|15056|

06.|mysql-bin.000002|628368|

07.|mysql-bin.000003|377|

08.|mysql-bin.000004|141|

09.|mysql-bin.000005|1073742287|

10.|mysql-bin.000006|1073742035|

11.|mysql-bin.000007|823654620|

12.|mysql-bin.000008|2265|

13.|mysql-bin.000009|628368|

14.|mysql-bin.000010|117|

15.|mysql-bin.000011|4525|

16.|mysql-bin.000012|117|

17.|mysql-bin.000013|3147|

18.|mysql-bin.000014|85468109|

19.+------------------+------------+
复制代码

二进制文件一般用来做replication同步,当查看slave上同步正确,或者是同步已经完成了,这时如果硬盘空间又不是很大的话,那我们可以手动去清理这些binary文件。
很简单:

01.mysql>resetmaster;

02.QueryOK,0rowsaffected(8.47sec)
复制代码或清除指定部分logs:
01.mysql>purebinarylogsto'mysql-bin.000013';
复制代码就是删除二进制文件到mysql-bin.000013,最后一个mysql-bin.000014保留着。

或将指定时间之前的binarylogs清掉

01.mysql>purgebinarylogsbefore'2011-05-2812:05:38';
复制代码
.查看当前binarylog的情况:

01.mysql>showmasterstatus;
复制代码
.查看binarylogs的内容:

01.mysql>showbinlogevents;
复制代码命令行下:

01.#mysqlbinlog/var/log/mysql/log-bin.000140;
复制代码或者

01.#mysqlbinlog--start-datetime='2011-07-0100:00:00'

02.--stop-datetime='2010-07-1500:00:00'/var/log/mysql/log-bin.000020>

03../tmp.log
复制代码
.在my.cnf/my.ini中设定binarylogs回滚天数:
expire_logs_days=7