MySQL binary log rotate

如果開啟了 MySQL binary log, 在 MySQL 資料目錄裡面會有很多這樣的檔案:

mysql-bin.000001
mysql-bin.000002
mysql-bin.000003
mysql-bin.000004
mysql-bin.000005

MySQL 在預設情況下不會刪除舊 binary log, 可以透過設定 my.cnf 進行日誌輪替, 開啟 my.cnf, 加入這一行在 [mysqld] 區塊內:
expire_logs_days = 14

expire_logs_days 是指定 binary log 保留的時間, 上面這行是設定保留 14 天。最後重新啟動 MySQL 便完成了。

但如果修改後不能重新啟動 MySQL 的話, 可以用 root 進入 mysql 執行以下指令也可以:

mysql > show binary logs;
mysql > show variables like ‘%log%’;
mysql > set global expire_logs_days = 14;

這樣就可以立即生效。




Leave a Reply