mysql binlog占用大量磁盤空間的解決方法
查看當(dāng)前日志保存天數(shù):
mysql> show variables like '%expire_logs_days%'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | expire_logs_days | 0 | +------------------+-------+ 1 row in set (0.08 sec)
默認(rèn)是0,也就是logs不過期。
也可以使用 show variables like '%expire%' 查看是否有開啟日志到期自動刪除
mysql> show variables like '%expire%'; +--------------------------------+--------+ | Variable_name | Value | +--------------------------------+--------+ | binlog_expire_logs_auto_purge | ON | | binlog_expire_logs_seconds | 432000 | | disconnect_on_expired_password | ON | | expire_logs_days | 0 | +--------------------------------+--------+ 4 rows in set (0.00 sec)
設(shè)置BINLOG到期時間
臨時生效,無需重起mysql
如果數(shù)據(jù)庫此時不便重啟,可以設(shè)置全局的參數(shù),使他臨時生效:
mysql> set global expire_logs_days=5;
設(shè)置了只保留5天BINLOG, 下次重啟mysql這個參數(shù)默認(rèn)會失敗。
如果上面指令報錯,則改為set global binlog_expire_logs_seconds=432000
mysql> set global expire_logs_days=7; ERROR 3683 (HY000): The option expire_logs_days and binlog_expire_logs_seconds cannot be used together. Please use binlog_expire_logs_seconds to set the expire time (expire_logs_days is deprecated) mysql> set global binlog_expire_logs_seconds=432000; Query OK, 0 rows affected (0.00 sec) mysql> mysql> show variables like '%expire%'; +--------------------------------+--------+ | Variable_name | Value | +--------------------------------+--------+ | binlog_expire_logs_auto_purge | ON | | binlog_expire_logs_seconds | 432000 | | disconnect_on_expired_password | ON | | expire_logs_days | 0 | +--------------------------------+--------+ 4 rows in set (0.00 sec)
寫入配置文件,mysql重啟依舊生效
如果要永久生效,需要在my.cnf中設(shè)置
vi /etc/my.cnf
追加內(nèi)容:
binlog_expire_logs_seconds=432000
手動刪除BINLOG
也可以先手動刪除BINLOG (purge binary logs)
刪除指定的日志
mysql> PURGE {MASTER | BINARY} LOGS TO 'log_name'
例:刪除binlog.1000
mysql> PURGE MASTER LOGS TO 'binlog.1000';
或刪除指定日期之前的日志索引中的所有二進(jìn)制日志。
mysql> PURGE {MASTER | BINARY} LOGS BEFORE 'date'
例:刪除2023-06-03 12:00:00前的文件
mysql> PURGE MASTER LOGS BEFORE '2023-06-03 12:00:00';
例:刪除3天前的日志
mysql> PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);
到此這篇關(guān)于mysql binlog占用大量磁盤空間的解決方法的文章就介紹到這了,更多相關(guān)mysql binlog占用磁盤空間內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Ubuntu查看修改mysql的登錄名和密碼、安裝phpmyadmin
這篇文章主要介紹了Ubuntu查看修改mysql的登錄名和密碼、安裝phpmyadmin,本文分步驟給大家講解的非常詳細(xì),需要的朋友可以參考下2019-11-11MySQL函數(shù)date_format()日期格式轉(zhuǎn)換的實(shí)現(xiàn)
本文主要介紹了MySQL函數(shù)date_format()日期格式轉(zhuǎn)換的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08MySQL中多個left?join?on關(guān)聯(lián)條件的順序說明
這篇文章主要介紹了MySQL中多個left?join?on關(guān)聯(lián)條件的順序說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11MySQL 字符串截取相關(guān)函數(shù)小結(jié)
本文是腳本之家小編給大家收藏整理的關(guān)于MySQL 字符串截取相關(guān)函數(shù)小結(jié),非常不錯,具有參考借鑒價值,需要的朋友參考下吧2018-04-04mysql 報錯This function has none of DETERMINISTIC解決方案
這篇文章主要介紹了mysql 報錯This function has none of DETERMINISTIC解決方案的相關(guān)資料,需要的朋友可以參考下2016-11-11MySQL延遲關(guān)聯(lián)性能優(yōu)化方法
這篇文章主要介紹了MySQL延遲關(guān)聯(lián)性能優(yōu)化方法,本文講解了延遲關(guān)聯(lián)的背景、延遲關(guān)聯(lián)的分析、延遲關(guān)聯(lián)的解決等內(nèi)容,需要的朋友可以參考下2015-05-05