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
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
转载于:https://blog.51cto.com/ceshi211/1297653