共計 851 個字符,預計需要花費 3 分鐘才能閱讀完成。
丸趣 TV 小編給大家分享一下 mysql 中如何設置 expire_logs_days 自動過期清理 binlog,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
生產上有一個比較小的系統,發現 mysql 占用空間較大,經排查發現是 binlog 比較多引起的
查看 binlog 過期時間,設置的時間為 90 天,這個值默認是 0 天,也就是說不自動清理,可以根據生產情況修改,本例修改為 7 天
mysql show variables like expire_logs_days
+——————+——-+
| Variable_name | Value |
+——————+——-+
| expire_logs_days | 90 |
+——————+——-+
1 row in set (0.00 sec)
mysql set global expire_logs_days=7;
Query OK, 0 rows affected (0.00 sec)
設置之后不會立即清除,觸發條件是:
binlog 大小超過 max_binlog_size
手動執行 flush logs
重新啟動時 (MySQL 將會 new 一個新文件用于記錄 binlog)
我們執行 flush logs;
mysql flush logs;
Query OK, 0 rows affected, 64 warnings (0.16 sec
如果 binlog 非常多,不要輕易設置改參數,有可能導致 io 爭用,這時候可以使用 purge 命令予以清除:
將 bin.000055 之前的 binlog 清掉:
mysql purge binary logs to bin.000055
將指定時間之前的 binlog 清掉:
mysql purge binary logs before 2017-05-01 13:09:51
看完了這篇文章,相信你對“mysql 中如何設置 expire_logs_days 自動過期清理 binlog”有了一定的了解,如果想了解更多相關知識,歡迎關注丸趣 TV 行業資訊頻道,感謝各位的閱讀!