您好,登錄后才能下訂單哦!
小編給大家分享一下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”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。