3種方法:1、刪除所有日誌,語法“RESET MASTER;”,刪除後將會重新開始建立新的二進位日誌;2、根據編號刪除日誌,語法“PURGE MASTER LOGS TO '文件名.number';”,將刪除編號小於指定“number'”的所有二進位日誌;3、根據建立時間刪除日誌,語法“PURGE MASTER LOGS TO 'yyyy-mm-dd hh:MM:ss';”。
本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。
mysql刪除二進位日誌的方法
#二進位日誌啟動後,每次重新啟動MySQL 服務後,都會產生一個新的二進位日誌文件。
二進位日誌中記錄著大量的信息,如果很長時間不清理二進位日誌,將會浪費很多的磁碟空間。刪除二進位日誌的方法很多,以下介紹幾種刪除二進位日誌的方法。
方法1:刪除所有二進位日誌
使用 RESET MASTER 語句可以刪除的所有二進位日誌,該語句的形式如下:
RESET MASTER;
登入MySQL 資料庫後,可以執行該語句來刪除所有二進位日誌。刪除所有二進位日誌後,MySQL 將會重新建立新的二進位日誌,新二進位日誌的編號從 000001 開始。
方法2:根據編號刪除二進位日誌
每個二進位日誌檔案後面有一個 6 位數的編號,例如 000001。使用 PURGE MASTER LOGS TO 語句,可以刪除指定二進位日誌的編號之前的日誌。該語句的基本語法形式如下:
PURGE MASTER LOGS TO 'filename.number';
該語句將刪除編號小於filename.number
的所有二進位日誌。
範例:
//删除bin-log.000002之前的二进制日志 purge binary logs to 'bin-log.000002';
#方法3:根據建立時間刪除二進位日誌
使用PURGE MASTER LOGS TO 語句,可以刪除指定時間之前建立的二進位日誌,該語句的基本語法格式如下:
PURGE MASTER LOGS TO 'yyyy-mm-dd hh:MM:ss';
其中,「hh」為24 制的小時。該語句將刪除在指定時間之前建立的所有二進位日誌。
範例:刪除2019-12-20 15:00:00 之前建立的二進位日誌
PURGE MASTER LOGS TO '2019-12-20 15:00:00";
程式碼執行完後,2019-12-20 15:00:00 之前建立的所有二進位日誌將被刪除。
另外,我們也可以設定expire_logs_days參數,設定自動清理,其預設值為0,表示不啟用過期自動刪除功能。
show variables like 'expire_logs_days';
如果啟用了自動清理功能,表示超出此天數的二進位記錄檔將自動刪除,自動刪除工作通常發生在MySQL啟動時或FLUSH日誌時。
【相關推薦:mysql影片教學】
以上是mysql怎麼刪除二進位日誌的詳細內容。更多資訊請關注PHP中文網其他相關文章!