mysql binlog占用大量磁盤(pán)空間的解決方法
查看當(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不過(guò)期。
也可以使用 show variables like '%expire%' 查看是否有開(kāi)啟日志到期自動(dòng)刪除
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到期時(shí)間
臨時(shí)生效,無(wú)需重起mysql
如果數(shù)據(jù)庫(kù)此時(shí)不便重啟,可以設(shè)置全局的參數(shù),使他臨時(shí)生效:
mysql> set global expire_logs_days=5;
設(shè)置了只保留5天BINLOG, 下次重啟mysql這個(gè)參數(shù)默認(rèn)會(huì)失敗。
如果上面指令報(bào)錯(cuò),則改為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)
寫(xiě)入配置文件,mysql重啟依舊生效
如果要永久生效,需要在my.cnf中設(shè)置
vi /etc/my.cnf
追加內(nèi)容:
binlog_expire_logs_seconds=432000
手動(dòng)刪除BINLOG
也可以先手動(dòng)刪除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占用大量磁盤(pán)空間的解決方法的文章就介紹到這了,更多相關(guān)mysql binlog占用磁盤(pán)空間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(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),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08MySQL中多個(gè)left?join?on關(guān)聯(lián)條件的順序說(shuō)明
這篇文章主要介紹了MySQL中多個(gè)left?join?on關(guān)聯(lián)條件的順序說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11MySQL 字符串截取相關(guān)函數(shù)小結(jié)
本文是腳本之家小編給大家收藏整理的關(guān)于MySQL 字符串截取相關(guān)函數(shù)小結(jié),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2018-04-04mysql 報(bào)錯(cuò)This function has none of DETERMINISTIC解決方案
這篇文章主要介紹了mysql 報(bào)錯(cuò)This function has none of DETERMINISTIC解決方案的相關(guān)資料,需要的朋友可以參考下2016-11-11mysql 數(shù)據(jù)庫(kù)基礎(chǔ)筆記
mysql 數(shù)據(jù)庫(kù)基礎(chǔ)筆記,剛開(kāi)始接觸mysql的朋友可以參考下2012-07-07MySQL延遲關(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-05MySql 如何實(shí)現(xiàn)無(wú)則插入有則更新
這篇文章主要介紹了MySql 實(shí)現(xiàn)無(wú)則插入有則更新的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06