mysql binlog日誌自動清理及手動刪除

2021-09-07 17:22:18 字數 974 閱讀 7764

場景:

當開啟mysql資料庫主從時,會產生大量如mysql-bin.00000* log的檔案,耗費大量磁碟空間。

解決方法:

1.關閉mysql主從,關閉binlog

然後重啟資料庫。

2.重啟mysql,開啟mysql主從,設定expire_logs_days

此方法需要重啟mysql。

也可以直接在mysql裡設定expire_logs_days,這樣不需要重啟mysql

3.手動清除binlog檔案

先root登入mysql

purge master logs before date_sub(current_date, interval 10 day);   //刪除10天前的mysql binlog日誌,附錄2有關於purge master logs手動刪除用法及示例

也可以重置master,刪除所有binlog檔案:

reset master;

清除binlog時,對從mysql的影響

如果您有乙個活性的從屬伺服器,該伺服器當前正在讀取您正在試圖刪除的日誌之一,則本語句不會起作用,而是會失敗,並伴隨乙個錯誤。不過,如果從屬伺服器是休止的,並且您碰巧清理了其想要讀取的日誌之一,則從屬伺服器啟動後不能複製。當從屬伺服器正在複製時,本語句可以安全執行。您不需要停止它們。

mysql binlog日誌刪除

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

壓縮mysql binlog日誌

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

mysql binlog日誌刪除

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