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自動刪除 檢視當前日誌儲存天數 ...