MySQL 正確刪除 binlog 日誌

罐裝麵包發表於2020-12-09

直接從磁碟刪除肯定是不可取的,因為 index 檔案不會同步刪除索引。

1. binlog_expire_logs_seconds 引數

MySQL 有個引數 binlog_expire_logs_seconds(舊版本引數名叫 expire_logs_days),預設為 0,表示 binlog 永不過期,如果設定為 > 0 的值,則會自動刪除過期檔案。

 

 

2. flush logs 命令

可以通過在 my.cnf 中設定 binlog_expire_logs_seconds 過期秒數,然後進入 mysql 控制檯,執行命令 flush logs,可以正確地刪除舊的已過期的檔案(應該是通過最近一次修改檔案時間判斷的)

 

 

3. purge 命令

方式一、purge binlog logs to '截至檔案',通過該命令可以刪除該檔案之前的所有 binlog 

 

4. reset master 命令

如果覺得 binlog 的索引太大,你甚至可以清空所有的 binlog,然後重置索引

相關文章