【MySQL】Binlog文件占用空間比較大,如何清理

一、前言

????????在進行一次數據導入之后,發現服務器磁盤爆滿,初步判斷是數據庫產生了大量binlog所致,接下來進行分析處理。

二、分析

1、查看磁盤空間

????????通過df -h命令,查看磁盤空間占用情況

2、查找占用文件或目錄

????????通過命令:du -ah -d1,逐級排查分析,排查找到占用最大的文件或目錄

3、找到binlog文件

????????找到這樣一大堆binlog文件,顯然正是罪魁禍首。

????????接下來考慮如何清理這些binlog文件。

三、處理

????????binlog日志可以通過參數expire_logs_days設置文件保留天數。

1、自動清理

1)設置過期時間

????????臨時設置:

-- 查看binlog保留天數參數設置,0表示永不刪除
SHOW VARIABLES LIKE 'expire_logs_days';-- 臨時修改(重啟失效)
SET GLOBAL expire_logs_days = 7;

????????永久設置:修改配置文件/etc/my.cnf,重啟mysql

[mysqld]
# 設置過期時間為7天
expire_logs_days = 7
# 限制單個文件大小
max_binlog_size = 1024M

2)觸發清理機制

????????執行以下命令或重啟數據庫,觸發清理機制

-- 刷新日志觸發清理
FLUSH LOGS;  

3)執行結果

> 登錄mysql,設置過期時間,并執行觸發機制:

?因為是這兩天執行產生的, 所以發現binlog并沒有清除減少,所以接下來就要手動清理了。

2、手動清理

1)查看binlog狀態

-- 查看binlog文件列表
SHOW BINARY LOGS; 
-- 查看主庫正在使用的文件
SHOW MASTER STATUS; 
-- 查看從庫讀取位置(主從環境必備)
SHOW SLAVE STATUS\G;

2)刪除文件

-- 刪除指定文件之前的日志(不包含該文件)
PURGE BINARY LOGS TO 'mysql-bin.000510';-- 刪除指定時間前的日志
PURGE BINARY LOGS BEFORE '2025-06-20 00:00:00';

????????執行刪除,查看binlog文件,磁盤空間釋放成功。

四、注意事項

1、不要直接使用 rm 刪除文件

????????(會導致主從中斷)

2、不要刪除正在使用的 binlog

????????(SHOW MASTER STATUS 顯示的當前文件)

3、主從環境特別注意

1)確保清理的文件?早于所有從庫的讀取位置

-- 在每個從庫執行:
SHOW SLAVE STATUS\G  -- 觀察 Relay_Master_Log_File 和 Exec_Master_Log_Pos

2)清理后立即檢查主從同步狀態

SHOW SLAVE STATUS\G  -- 驗證 Slave_IO_Running 和 Slave_SQL_Running

4、生產環境操作前務必備份 binlog 索引文件

(/var/lib/mysql/binlog.index)異常時可重建索引:

mysqlbinlog --no-defaults binlog.* > binlog.index

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/89147.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/89147.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/89147.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

車載診斷架構 --- 非易失性存儲器(NVM)相關設置項

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 做到欲望極簡,了解自己的真實欲望,不受外在潮流的影響,不盲從,不跟風。把自己的精力全部用在自己。一是去掉多余,凡事找規律,基礎是誠信;二是…

C#: 輸入對話框窗口函數

這是一個 C# 輸入對話框函數,主要功能包括: 基礎功能:創建帶標題、提示文本和輸入框的對話框,返回用戶輸入或空字符串(取消時) 增強特性: 支持必填項驗證支持正則表達式格式驗證實時錯誤提示與…

PCB工藝學習與總結-20250628

一、PCB板材 1、結構組成 基板:作為電路板的支撐體,通常由絕緣材料制成,如玻璃纖維或塑料。 導線:用于連接電路板上的各個元件,傳輸電流和信號。 元件:包括電阻、電容、電感、二極管、晶體管等,用于實現電路的各種功能。 焊盤:用于焊接元件引腳的金屬片,確保元件…

VUE2與VUE3項目環境變量創建與使用區別

環境變量文件是項目中的.env開頭的文件,如下圖: 下圖是VUE2.env文件中的配置,是以VUE_APP開頭的 VUE_APP_PAGE_TITLE系統 VUE_APP_SERVICE_PREFIX/gateway/xxxxx在使用時 只需要 調用 process.env.VUE_APP_SERVICE_PREFIX 就可以獲取到值 而…

php flush實時輸出線上環境好使,本地環境等待一段時間后一次性輸出結果的原因

近期對接deepseek接口時為了擁有較好的用戶體驗,等待答案返回時采用了flush分布輸出,但是線上環境下可以正常分布輸出,同樣代碼在本地總是等待許久后一次性出結果,排查許久,發現竟然是本地和線上不同的php加載模式導致…

【世紀龍科技】東風風光580汽車維護與底盤拆裝檢修仿真教學軟件

在職業院校汽車專業的教學實踐中,傳統的汽車維護與底盤拆裝實訓常面臨諸多挑戰。實車操作不僅存在安全隱患,設備損耗、教學成本高的問題也不容忽視;部分學生因操作機會有限,難以系統掌握規范流程和儀器使用,教師在教學…

React大型項目目錄結構設計

以下這種結構設計適合以下場景: 10人以上開發團隊協作長期維護的中大型項目需要高度模塊化和可擴展性的項目需要嚴格類型檢查的TypeScript項目 根據實際需求,可以適當調整模塊劃分和目錄結構,但保持核心的模塊化思想和分層架構是關鍵。 Re…

【C語言】超市管理系統丨完整源碼與實現解析

通過這個完整的超市管理系統,您將掌握C語言核心數據結構與文件操作技術 設計思路與核心數據結構 本系統使用動態數組管理商品數據,支持商品增刪改查、文件存儲和數據統計功能。系統采用模塊化設計,分為商品管理、文件操作和用戶界面三大模塊…

RK3506開發板:多核異構架構賦能高可靠性工業應用

在工業4.0與物聯網技術深度融合的當下,企業對嵌入式計算平臺的需求正從單一性能向高能效、高可靠、高實時性方向演進。RK3506開發板憑借其創新的三核A7單核M0多核異構架構、緊湊型設計及豐富的外設資源,成為電力、工業網關、HMI(人機界面&…

【AIOT 領域-拆解智能對話全生態需求】??全雙工對話-單工對話-半雙工

在萬物互聯的物聯網時代,設備間的"對話方式"直接決定了數據傳輸的效率與可靠性。今天帶大家深入解析三種基礎通信模式,從工業傳感器到5G基站,一文看透數據傳輸的底層邏輯! 🔌 單工通信:信息流的…

國產數據庫華為高斯的GaussDB創建數據表和添加字段及注釋

國產數據庫華為高斯的GaussDB創建數據表和添加字段及注釋 🔸 一、創建數據庫🔸 二、修改數據庫(重命名)🔸 三、創建數據表并加字段注釋🔸 四、修改表結構1. 添加字段? 添加字段的注釋2. 修改字段類型3. 修…

VSCode與Git交互

文章目錄 VSCode與Git交互一、引言二、基礎設施搭建**PS:在開始高效使用Git之前,首先需要搭建好基礎設施,包括安裝和配置Git以及VSCode,并初始化Git倉庫。**2.1 安裝和配置Git(1)Git的下載與安裝(2&#xf…

Java 中通信接口

Java 中通信接口 1、Java UDP 通信核心接口介紹1、DatagramSocket 類2、DatagramPacket 類3、UDP客戶端與UDP服務器通信例子 2、Java TCP 通信核心接口介紹1、ServerSocket 類2、Socket 類3、輸入輸出流常見包裝類4、TCP 客戶端與 TCP 服務器通信例子 Java 網絡通信基于 Socket…

樹種識別與碳儲量計算:基于多源遙感數據與深度學習的融合框架

樹種識別與碳儲量計算:基于多源遙感數據與深度學習的融合框架 1. 引言:背景與意義 森林作為陸地生態系統的主體,在全球碳循環中扮演著至關重要的角色。精準估算森林生物量及其蘊含的碳儲量,是評估區域乃至全球碳收支、應對氣候變化、制定森林管理策略的核心科學問題。傳統…

如何高效地將照片從 Android 傳輸到計算機

“如何將圖片從 Android 設備傳輸到筆記本電腦?”我們在 Quora 上發現了這個問題,這篇文章中有不同的答案。如果您對此感到好奇,請不要錯過這篇文章,因為在檢查所有答案和其他在線帖子并進行測試后,我們整理了 6 種經過…

httpget請求與獲取返回值

首先需要在pom中添加對應包信息 <dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.13</version> </dependency> <dependency><groupId>com.alibaba<…

Rust交互式編程環境Jupyter Lab搭建

windows 11wsl2Ubuntu 24.04.1 LTS Installer.exerust-1.88.0-x86_64-unknown-linux-gnu.tar.xzevcxr_jupyter-v0.20.0-x86_64-unknown-linux-gnu.tar.gzMiniconda3-py312_25.1.1-2-Linux-x86_64.sh /etc/apt/sources.list配置鏡像源&#xff08;最好先刪除sources.list.d的官…

理解WebGL中的頂點著色器和片元著色器

WebGL是一種基于OpenGL ES的JavaScript API&#xff0c;它允許我們在網頁上直接渲染3D圖形而無需任何插件。WebGL的核心是著色器編程&#xff0c;它主要包含兩種著色器&#xff1a;頂點著色器(Vertex Shader)和片元著色器(Fragment Shader)。 頂點著色器負責處理每個頂點的位置…

從UI設計到數字孿生:構建智慧城市的數據可視化體系

hello寶子們...我們是艾斯視覺擅長ui設計、前端開發、數字孿生、大數據、三維建模、三維動畫10年經驗!希望我的分享能幫助到您!如需幫助可以評論關注私信我們一起探討!致敬感謝感恩! 在城市化進程加速與數字化轉型的雙重驅動下&#xff0c;智慧城市正從概念走向落地 —— 據 ID…

OpenCV圖像旋轉:單點旋轉與圖片旋轉

1. 引言 圖像旋轉是計算機視覺中最基礎也是最重要的幾何變換之一&#xff0c;在圖像處理、計算機視覺、醫學影像分析等領域有著廣泛應用。OpenCV作為最流行的計算機視覺庫&#xff0c;提供了強大的圖像旋轉功能。本文將深入探討OpenCV中的兩種旋轉方式&#xff1a;基于單點的仿…