發表文章

目前顯示的是 3月, 2008的文章

[轉] 定期清除mysql bin log

作者: luwentao 2007-05-03 來自:http://xxo.blog.163.com/ 轉自:http://www.mske.com/index.php?option=com_content&task=view&id=60&Itemid=28 udb服務器down了,因為var目錄滿了.因為/var/log/mysql目錄占用了40G的空間. 查看/etc/mysql/my.cnf ,發現 expire-logs-days = 20 把expire-logs-days 設成3,然後在mysql命令行執行 PURGE MASTER LOGS TO 'mysql-bin.000930'; 即可刪除930之前的binlog 用這個語句可以清除3天前的binlog, PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY); 所以另外還有個方法定期刪除binlog: 在contab設置: 0 1 * * * `mysql -uroot -e 'PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);'` --------------------------------------------------- Ivan 補充 -bin log 檔案的樣子會長的像 name-bin.index ,例如mysql-bin.123。 -這些bin log檔會存在於你mysql的資料庫所在地的資料夾中,且必定存在my.cnf,所以你可以搜尋my.cnf的所在地,會找到mysql的bin log. -如果你的服務器因為這些bin log塞滿了硬盤使得web service(如apache)停掉的話,在Purge掉bin log檔後,可以重開機或直接重啟web service將會達到相同的效果。 -參考指令: ls -lshR , du -ha, df 可以查看檔案和硬盤的大小和剩餘..