天天看點

删除mysql的binlog日志

mysql的binlog日志介紹

Binlog是mysql以二進制形式列印的日志,它預設不加密,不壓縮。binlog二進制日志包含了所有更新了資料或者已經潛在更新了資料(例如,沒有比對任何行的一個DELETE)的所有語句。語句以“事件”的形式儲存,它描述資料更改檔案位置和格式:當用--log-bin[=file_name]選項啟動時,mysqld寫入包含所有更新資料的SQL指令的日志檔案。如果未給出file_name值, 預設名為-bin後面所跟的主機名。如果給

出了檔案名,但沒有包含路徑,則檔案被寫入資料目錄。

删除mysql的binlog日志有兩種方法:自動删除和手動删除

1.自動删除

 永久生效:修改mysql的配置檔案my.cnf,添加binlog過期時間的配置項:expire_logs_days=30,然後重新開機mysql,這個有個緻命的缺點就是需要重新開機mysql。

 臨時生效:進入mysql,用以下指令設定全局的參數:set global expire_logs_days=30;

 (上面的數字30是保留30天的意思。)

2.手動删除

可以直接删除binlog檔案,但是可以通過mysql提供的工具來删除更安全,因為purge會更新mysql-bin.index中的條目,而直接删除的話,mysql-bin.index檔案不會更新。mysql-bin.index的作用是加快查找binlog檔案的速度。

(1)直接删除

找到binlog所在目錄,用rm binglog名 直接删除

例:rm mysql-bin.010

(2)通過mysql提供的工具來删除

删除之前可以先看一下purge的用法:help purge;

删除舉例:

RESET MASTER;//删除所有binlog日志,新日志編号從頭開始

PURGE MASTER LOGS TO 'mysql-bin.010';//删除mysql-bin.010之前所有日志

PURGE MASTER LOGS BEFORE '2003-04-02 22:46:26';// 删除2003-04-02 22:46:26之前産生的所有日志

本文轉自月魔zhi蕾51CTO部落格,原文連結:http://blog.51cto.com/308107405/1440808 ,如需轉載請自行聯系原作者