MySQL清理binlog日志文件命令詳解
MySQL清理binlog日志文件命令
如果你擔心舊的binlog文件會占用大量磁盤空間,可以在設(shè)置完成后清理舊的binlog文件:
刪除舊的binlog文件
sudo rm /path/to/your/mysqllogs/mysql-bin.*
強制清除binlog文件
PURGE BINARY LOGS BEFORE '2024-09-19 00:00:00'; FLUSH BINARY LOGS;
Binlog日志清理問題
近期發(fā)現(xiàn)測試環(huán)境的Mysql數(shù)據(jù)庫一直磁盤爆滿,查看數(shù)據(jù)目錄發(fā)現(xiàn)binlog日志很多很大,特記錄處理過程。
查看所有binlog日志
show binary logs;
3種處理方式
自動刪除(永久配置)
cat /etc/my.cnf expire_logs_days = 2 #保留最近2天的binlog文件;expire_logs_days 為binlog過期時間,默認值為0,表示“永不過期”,重啟數(shù)據(jù)庫生效
臨時生效:
show variables like 'expire_logs_days'; set global expire_logs_days=1;
設(shè)置之后不會立即清除,觸發(fā)條件是:
- 1)binlog大小超過 max_binlog_size
- 2)手動執(zhí)行flush logs
- 3)重新啟動時(MySQL 將會new一個新文件用于記錄binlog)
手動刪除(安全處理)
purge會更新mysql-bin.index中的條目,而直接刪除的話,mysql-bin.index文件不會更新。mysql-bin.index的作用是加快查找binlog文件的速度
#清除MySQL-bin.010日志 PURGE MASTER LOGS TO 'MySQL-bin.010'; #清除2008-06-22 13:00:00前binlog日志 PURGE MASTER LOGS BEFORE '2008-06-22 13:00:00'; #清除3天前binlog日志BEFORE,變量的date自變量可以為'YYYY-MM-DD hh:mm:ss'格式。 PURGE MASTER LOGS BEFORE DATE_SUB( NOW(), INTERVAL 3 DAY);
RESET MASTER; #該命令將刪除所有BINLOG日志
注:生產(chǎn)環(huán)境需要先備份數(shù)據(jù)后再執(zhí)行刪除操作
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
數(shù)據(jù)庫中的SELECT語句邏輯執(zhí)行順序分析
這篇文章主要介紹了數(shù)據(jù)庫中的SELECT語句邏輯執(zhí)行順序分析,并列出了一些例子,需要的朋友可以參考下2014-07-07MySQL數(shù)據(jù)庫中SQL分組統(tǒng)計與排序詳解
在現(xiàn)代數(shù)據(jù)分析和數(shù)據(jù)庫管理中,分組統(tǒng)計是最基礎(chǔ)也是最核心的操作之一,無論是業(yè)務(wù)報表生成、用戶行為分析還是系統(tǒng)性能監(jiān)控,我們經(jīng)常需要按照某個字段對數(shù)據(jù)進行分組,所以本文給大家詳細介紹了MySQL數(shù)據(jù)庫中SQL分組統(tǒng)計與排序,需要的朋友可以參考下2025-05-05MySQL之information_schema數(shù)據(jù)庫詳細講解
這篇文章主要介紹了MySQL之information_schema數(shù)據(jù)庫詳細講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-08-08有效查詢MySQL表中重復(fù)數(shù)據(jù)的方法和技巧分享
在MySQL數(shù)據(jù)庫中,偶爾會遇到需要查找表中出現(xiàn)的重復(fù)數(shù)據(jù)的情況,這種情況下,我們可以通過編寫一些SQL查詢語句輕松地找到并處理這些重復(fù)行,本文將介紹一些常見的方法和技巧,幫助你有效地查詢MySQL表中的重復(fù)數(shù)據(jù),需要的朋友可以參考下2023-10-10