文章摘自:http://www.28aw.com/archiver/tid-5695.html
MySQL 二進制文件(mysql-bin.000001)刪除
MySQL之所以產生二進制文件是因爲配置文件(/etc/my.cnf)中設置了參數
log-bin=mysql-bin
有的時候不想讓mysql服務停止,那我們可以用下面的方法來刪除binary文件。
我們可以看到產生了二進制文件
mysql> show binary logs;(或者show master logs;)
+------------------+------------+
| Log_name | File_size |
+------------------+------------+
| mysql-bin.000001 | 15056 |
| mysql-bin.000002 | 628368 |
| mysql-bin.000003 | 377 |
| mysql-bin.000004 | 141 |
| mysql-bin.000005 | 1073742287 |
| mysql-bin.000006 | 1073742035 |
| mysql-bin.000007 | 823654620|
| mysql-bin.000008 | 2265 |
| mysql-bin.000009 | 628368 |
| mysql-bin.000010 | 117 |
| mysql-bin.000011 | 4525 |
| mysql-bin.000012 | 117 |
| mysql-bin.000013 | 3147 |
| mysql-bin.000014 | 85468109|
+------------------+------------+
二進制文件一般用來做replication同步,當查看slave上同步正確,或者是同步已經完成了,這時如果硬盤空間又不是很大的話,那我們可以手動去清理這些binary文件。
很簡單:
mysql> reset master;
Query OK, 0 rows affected (8.47 sec)或清除指定部分logs:mysql> purge binary logs to'mysql-bin.000013';就是刪除二進制文件到mysql-bin.000013,最後一個mysql-bin.000014保留着。
或將指定時間之前的binary logs清掉
mysql>purge binary logs before '2011-05-28 12:05:38';
.查看當前binary log的情況:
mysql>show master status;
. 查看binary logs的內容:
mysql>show binlog events;命令行下:
#mysqlbinlog /var/log/mysql/log-bin.000140; 或者
#mysqlbinlog --start-datetime='2011-07-01 00:00:00'
--stop-datetime='2010-07-15 00:00:00' /var/log/mysql/log-bin.000020 >
./tmp.log
. 在my.cnf/my.ini中設定binary logs回滾天數:
expire_logs_days = 7