刪除mysql的binlog日誌

2021-09-20 22:56:00 字數 1053 閱讀 9965

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

mysql的binlog日誌手動刪除和自動清理

mysql中的binlog開啟對於工作維護來說是必要的,但是binlog檔案相對較大,如果不管不問的任由binlog自由輸出的話,總有一點會把磁碟佔滿。當磁碟空間不足時,導致資料庫卡死狀態,斷鏈狀態。此時資料庫只可以查詢操作,不可以update delete的操作。至於為什麼個人理解的時候服務訪問的...

mysql刪除binlog日誌及日誌恢復資料的方法

基本上大家裝mysql,都會開啟binlog功能,開啟這個功能的好處是,日後方便恢復資料,而壞處是日誌檔案增長速度快,很快佔會佔滿磁碟空間,所以我們要定期或手工來刪除過大的日誌檔案。刪除日誌檔案的方法大概有如下幾中 一 設定日誌保留時長expire logs days自動刪除 檢視當前日誌儲存天數 ...

mysql刪除binlog日誌及日誌恢復資料的方法

基本上大家裝mysql,都會開啟binlog功能,開啟這個功能的好處是,日後方便恢復資料,而壞處是日誌檔案增長速度快,很快佔會佔滿磁碟空間,所以我們要定期或手工來刪除過大的日誌檔案。刪除日誌檔案的方法大概有如下幾中 一 設定日誌保留時長expire logs days自動刪除 檢視當前日誌儲存天數 ...