首先說明,mysql-bin.00000*類似的文件是mysql的日志文件。
通過命令
代碼如下 復制代碼du -h –max-depth=1 /
查看根目錄下每個文件夾所占用存儲的大小,發現/var占用了快3G,進一步使用du命令,發現是存放mysql數據文件的文件夾占用了絕大部分空間,進入該文件夾,發現有很多mysql-bin.00000開頭的文件,而且其中的某些達到了1G以上,google發現原來這些用戶是mysql記錄的日志文件,用於數據庫崩潰後恢復數據和主從數據庫進行數據同步的。如果沒有進行主從數據庫,可以通過修改配置文件讓mysql關閉記錄操作日志功能,關閉只需要在log-bin=mysql-bin前加上一個“#”即可,不要忘記重啟mysql服務。
清理日志方法為:
代碼如下 復制代碼PURGE MASTER LOGS TO 'mysql-bin.000013';
或
PURGE MASTER LOGS BEFORE '2010-10-18 00:00:00';
另外可以通過 RESET MASTER 來刪除整個日志文件,注意,如果使用主從數據庫,在操作前先確保從數據庫已經完全同步了主數據庫的數據。
上述命令都是登陸到mysql後執行的。
很多人安裝的mysql是開啟了日志文件記錄的,一般有比較頻繁的mysql數據庫操作就會產生大量的日志文件在/usr/local/mysql/var/下面,一般產生的日志文件都類似如下:
-rw-rw—- 1 mysql mysql 2.0M Sep 28 17:08 mysql-bin.000001
-rw-rw—- 1 mysql mysql 1.1G Nov 13 14:43 mysql-bin.000002
-rw-rw—- 1 mysql mysql 1.1G Nov 13 15:17 mysql-bin.000003
-rw-rw—- 1 mysql mysql 561M Nov 13 15:52 mysql-bin.000004
-rw-rw—- 1 mysql mysql 904K Nov 13 16:07 mysql-bin.000005
-rw-rw—- 1 mysql mysql 194M Nov 16 16:40 mysql-bin.000006
-rw-rw—- 1 mysql mysql 123M Nov 18 19:18 mysql-bin.000007
-rw-rw—- 1 mysql mysql 456 Nov 16 16:41 mysql-bin.index
從上面可以看到,這些mysql-bin.00000* 類似的文件有的體積非常大,而且一般都在幾十MB到幾個GB,更甚會吃掉整個硬盤空間,從來導致mysql無法啟動或報錯,所以在沒有必要的情況下我們是可以不用開啟日志文件的。
先說下刪除mysql日志的方法:
執行:/usr/local/mysql/bin/mysql -u root -p
輸入密碼登錄後再執行:
代碼如下 復制代碼reset master;
這樣就可以了,當然也可以手動刪除,但是可能會產生一些副作用,我沒去證實過。
這些文件是mysql記錄的日志文件,用於數據庫崩潰後恢復數據和主從數據庫進行數據同步的。如果沒有進行主從數據庫,可以通過修改配置文件讓mysql關閉記錄操作日志功能,那如何避免以後再產生這些文件呢,如何關閉mysql的日志功能呢?
方法如下:
找到:
代碼如下 復制代碼log-bin=mysql-bin
將這行注釋掉,前面加上#,再重啟mysql就可以了。
假如說你是手工刪除的mysql日志文件(mysql-bin.00000*)發現mysql啟動不了,那麼你看一下mysql-bin.index這個文件是否還存在,如果還存在的話就將mysql-bin.index也刪除,然後就可以正常啟動了。
其他清理方法(登錄數據庫情況下):
代碼如下 復制代碼PURGE MASTER LOGS TO ‘mysql-bin.000013′;
或
PURGE MASTER LOGS BEFORE ’2010-10-18 00:00:00′;