mysql binlog日誌刪除清理

2021-10-11 18:49:20 字數 952 閱讀 8734

刪除mysql的binlog日誌有兩種方法:自動刪除和手動刪除

修改mysql的配置檔案my.cnf,新增binlog過期時間的配置項:expire_logs_days=30,然後重啟mysql,這個有個致命的缺點就是需要重啟mysql。

expire_logs_days引數只支援整數,且範圍是[0,99]

進入mysql,

檢視現在配置:show variables like 'expire_logs_days';

用以下命令設定全域性的引數:set global expire_logs_days=30;

刷一下log使上面的設定生效,否則不生效:flush logs;

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

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

1、首先登入的mysql

2、檢視binlog 日誌檔案 mysql> show binary logs;

3、刪除舉例:

清除3天前的 binlog

purge master logs before date_sub( now( ), interval 3 day);

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之前產生的所有日誌

個人感覺還是最下面的好用,當執行時提示0條響應,實現是已經把3天之前的binlog檔案已經刪除掉了。

mysql binlog日誌刪除

隨著mysql的執行,其binlog日誌會越來越多,占用的磁碟會越來越大。我們需要定期清理這些過期的binlog日誌。處理方法主要有兩種 1 自動刪除 2 手動刪除 1 自動刪除 a,修改my.cnf引數 需要更改其配置檔案my.cnf,新增引數expire logs days 10,單位是天。b,...

mysql binlog日誌刪除

今天發現磁碟被佔滿,檢查後是binlog日誌占用太多,所以刪除下 mysql的binlog日誌介紹 binlog是mysql以二進位制形式列印的日誌,它預設不加密,不壓縮。binlog二進位制日誌包含了所有更新了資料或者已經潛在更新了資料 例如,沒有匹配任何行的乙個delete 的所有語句。語句以 ...

壓縮mysql binlog日誌

伺服器硬碟太貴了 mysql的binlog日誌增長太快了 需要定時壓縮一下 然後清除 清除步驟 建立清除shell vim bzbinlog.sh bin sh tar jcvpf date mysqlbinlogdir mysql bin.000108.tar.bz2 usr local mysq...