mysql怎么刪除二進(jìn)制日志

3種方法:1、刪除所有日志,語法“RESET MASTER;”,刪除后將會重新開始創(chuàng)建新的二進(jìn)制日志;2、根據(jù)編號刪除日志,語法“PURGE MASTER LOGS TO ‘文件名.number’;”,將刪除編號小于指定“number’”的所有二進(jìn)制日志;3、根據(jù)創(chuàng)建時間刪除日志,語法“PURGE MASTER LOGS TO ‘yyyy-mm-dd hh:MM:ss’;”。

mysql怎么刪除二進(jìn)制日志

本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。

mysql刪除二進(jìn)制日志的方法

二進(jìn)制日志啟動后,每次重啟 MySQL 服務(wù)后,都會生成一個新的二進(jìn)制日志文件。

二進(jìn)制日志中記錄著大量的信息,如果很長時間不清理二進(jìn)制日志,將會浪費很多的磁盤空間。刪除二進(jìn)制日志的方法很多,下面介紹幾種刪除二進(jìn)制日志的方法。

方法1:刪除所有二進(jìn)制日志

使用?RESET MASTER?語句可以刪除的所有二進(jìn)制日志,該語句的形式如下:

RESET?MASTER;

登錄 MySQL 數(shù)據(jù)庫后,可以執(zhí)行該語句來刪除所有二進(jìn)制日志。刪除所有二進(jìn)制日志后,MySQL 將會重新創(chuàng)建新的二進(jìn)制日志,新二進(jìn)制日志的編號從 000001 開始。

方法2:根據(jù)編號刪除二進(jìn)制日志

每個二進(jìn)制日志文件后面有一個 6 位數(shù)的編號,如 000001。使用 PURGE MASTER LOGS TO 語句,可以刪除指定二進(jìn)制日志的編號之前的日志。該語句的基本語法形式如下:

PURGE?MASTER?LOGS?TO?'filename.number';

該語句將刪除編號小于 filename.number 的所有二進(jìn)制日志。

示例:

//刪除bin-log.000002之前的二進(jìn)制日志 purge?binary?logs?to?'bin-log.000002';

mysql怎么刪除二進(jìn)制日志

方法3:根據(jù)創(chuàng)建時間刪除二進(jìn)制日志

使用 PURGE MASTER LOGS TO 語句,可以刪除指定時間之前創(chuàng)建的二進(jìn)制日志,該語句的基本語法格式如下:

PURGE?MASTER?LOGS?TO?'yyyy-mm-dd?hh:MM:ss';

其中,“hh”為 24 制的小時。該語句將刪除在指定時間之前創(chuàng)建的所有二進(jìn)制日志。

示例:刪除 2019-12-20 15:00:00 之前創(chuàng)建的二進(jìn)制日志

PURGE?MASTER?LOGS?TO?'2019-12-20?15:00:00";

代碼執(zhí)行完后,2019-12-20 15:00:00 之前創(chuàng)建的所有二進(jìn)制日志將被刪除。

mysql怎么刪除二進(jìn)制日志

另外,我們也可以設(shè)置expire_logs_days參數(shù),設(shè)置自動清理,其默認(rèn)值為0,表示不啟用過期自動刪除功能。

show?variables?like?'expire_logs_days';

mysql怎么刪除二進(jìn)制日志

如果啟用了自動清理功能,表示超出此天數(shù)的二進(jìn)制日志文件將被自動刪除,自動刪除工作通常發(fā)生在MySQL啟動時或FLUSH日志時。

mysql怎么刪除二進(jìn)制日志

【相關(guān)推薦:mysql視頻教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊13 分享