MySQL精準(zhǔn)控制Binlog日志數(shù)量的三種方案
一招修改配置文件:永久生效的控制術(shù)
1.定位my.cnf文件
不同系統(tǒng)的配置文件位置:
- Linux:
/etc/my.cnf
或/etc/mysql/my.cnf
- Windows:
C:\ProgramData\MySQL\MySQL Server X.X\my.ini
2.添加核心參數(shù)
[mysqld] max_binlog_size = 256M # 單個文件最大尺寸(默認(rèn)1G) max_binlog_files = 30 # 最新保留文件個數(shù)(MySQL 8.0+專屬) expire_logs_days = 7 # 舊文件存活周期 # expire_logs_seconds=604800 # 更精確的時間控制(單位秒)
重啟生效
sudo systemctl restart mysqld # Linux # Windows通過服務(wù)管理器重啟MySQL服務(wù)
不重啟熱更新:高手應(yīng)急必殺技
通過MySQL命令行動態(tài)調(diào)整(臨時生效,重啟后失效):
-- 設(shè)置日志過期時間(3天) SET GLOBAL expire_logs_seconds = 259200; -- 調(diào)整單個日志文件大?。?GB) SET GLOBAL max_binlog_size = 1073741824; -- 查看當(dāng)前所有Binlog文件 SHOW BINARY LOGS;
終極清理秘籍:手動精準(zhǔn)斬草除根
-- 刪除指定文件之前的所有日志(高危操作前務(wù)必備份?。? PURGE BINARY LOGS TO 'mysql-bin.000358'; -- 按時間點清理(格式:'YYYY-MM-DD hh:mm:ss') PURGE BINARY LOGS BEFORE '2024-02-01 00:00:00';
三大黃金配置策略(場景適配)
業(yè)務(wù)類型 | 推薦配置 | 核心邏輯 |
---|---|---|
高頻交易系統(tǒng) | max_binlog_size=1G + max_files=100 | 平衡性能與數(shù)據(jù)恢復(fù)點密度 |
數(shù)據(jù)分析平臺 | expire_logs_days=3 + 每日全量備份 | 僅保留最近周期日志 |
跨地域主從集群 | expire_logs_seconds=172800 (48小時) | 容忍網(wǎng)絡(luò)延遲與災(zāi)備同步 |
五大毀滅性操作禁區(qū)
- 刪除傳輸中的日志:主從復(fù)制未完成的日志被刪,直接導(dǎo)致集群分 裂。
- 未備份先清理:誤刪后無法執(zhí)行時間點恢復(fù)(PITR),數(shù)據(jù)永久丟失。
- 暴力rm刪除文件:導(dǎo)致
mysql-bin.index
索引文件不一致,MySQL崩潰。 - 設(shè)置
expire_logs_days=0
:等于永久保留,磁盤必被“吃”空。 - 主從不一致配置:主從節(jié)點的Binlog參數(shù)必須完全一致!
急救工具箱
-- 實時監(jiān)控Binlog總占用空間 SELECT SUM(ROUND((LENGTH(logged_data)/1024/1024),2)) AS "總占用(GB)", COUNT(*) AS "文件數(shù)量" FROM mysql.general_log; -- 檢查主從同步進(jìn)度(避免誤刪活躍日志) SHOW SLAVE STATUS\G
MySQL 8.4版本重大更新
2025年最新版本對Binlog管理進(jìn)行了優(yōu)化:
- 智能動態(tài)擴(kuò)容:新增binlog_auto_tuning參數(shù),自動調(diào)整文件大小和保留策略。
- 云存儲直連:支持將Binlog直接歸檔到AWS S3、阿里云OSS等對象存儲。
- 壓縮算法升級:采用Zstandard算法,節(jié)省60%磁盤空間。
以上就是MySQL精準(zhǔn)控制Binlog日志數(shù)量的三種方案的詳細(xì)內(nèi)容,更多關(guān)于MySQL控制Binlog數(shù)量的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
mysql 5.7.14 下載安裝、配置與使用詳細(xì)教程
這篇文章主要介紹了mysql 5.7.14 下載安裝、配置與使用詳細(xì)教程的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-09-09mysql使用mysqld_multi部署單機多實例的方法教程
這篇文章主要給大家介紹了關(guān)于mysql使用mysqld_multi部署單機多實例的相關(guān)資料,文中通過示例代碼將實現(xiàn)的步驟一步步介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-03-03MySQL InnoDB和MyISAM數(shù)據(jù)引擎的差別分析
InnoDB和MyISAM是在使用MySQL最常用的兩個表類型,各有優(yōu)缺點,視具體應(yīng)用而定?;镜牟顒e為:MyISAM類型不支持事務(wù)處理等高級處理,而InnoDB類型支持2011-05-05WIN10下cmd如何查看編碼方式,命令行窗口修改UTF-8編碼
這篇文章主要介紹了WIN10下cmd如何查看編碼方式,命令行窗口修改UTF-8編碼,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09Mysql row number()排序函數(shù)的用法和注意
這篇文章主要介紹了Mysql row number()排序函數(shù)的用法和注意 的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07MySQL服務(wù)無法啟動且服務(wù)沒有報告任何錯誤的解決辦法
在啟動項目時,發(fā)現(xiàn)昨天能夠跑的項目今天跑不了了,一看原來是mysql數(shù)據(jù)庫出現(xiàn)了問題,下面這篇文章主要給大家介紹了關(guān)于MySQL服務(wù)無法啟動且服務(wù)沒有報告任何錯誤的解決辦法,需要的朋友可以參考下2023-05-05