前言
MySQL中的binlog日志記錄了數(shù)據(jù)庫中數(shù)據(jù)的變動(dòng)花枫,便于對(duì)數(shù)據(jù)的基于時(shí)間點(diǎn)和基于位置的恢復(fù)黍瞧,但是binlog也會(huì)日漸增大佛舱,占用很大的磁盤空間椎例,因此,要對(duì)binlog使用正確安全的方法清理掉一部分沒用的日志名眉。
方法一粟矿、手動(dòng)刪除
1、刪除指定時(shí)間以前的日志索引中binlog日志文件:
PURGE MASTER LOGS BEFORE '2019-03-11 00:00:00';
2损拢、刪除指定日志文件的日志索引中binlog日志文件:
PURGE MASTER LOGS TO 'mysql-bin.000001';
3陌粹、清除指定天數(shù)以前的日志索引中binlog日志文件:
PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);
方法二、自動(dòng)刪除
通過設(shè)置binlog多少天過期福压,使系統(tǒng)自動(dòng)刪除binlog文件掏秩。
mysql> show variables like 'expire_logs_days';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| expire_logs_days | 0 |
+------------------+-------+
mysql> set global expire_logs_days = 30;