欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL中Binlog文件占用空間比較大該如何清理

 更新時(shí)間:2025年09月02日 09:23:07   作者:Gary強(qiáng)z  
在MySQL中binlog(二進(jìn)制日志)是一種記錄數(shù)據(jù)庫(kù)操作的日志文件,它記錄了數(shù)據(jù)庫(kù)更改的所有操作,這篇文章主要介紹了MySQL中Binlog文件占用空間比較大該如何清理的相關(guān)資料,需要的朋友可以參考下

一、前言

在進(jìn)行一次數(shù)據(jù)導(dǎo)入之后,發(fā)現(xiàn)服務(wù)器磁盤(pán)爆滿(mǎn),初步判斷是數(shù)據(jù)庫(kù)產(chǎn)生了大量binlog所致,接下來(lái)進(jìn)行分析處理。

二、分析

1、查看磁盤(pán)空間

通過(guò)df -h命令,查看磁盤(pán)空間占用情況

2、查找占用文件或目錄

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

3、找到binlog文件

找到這樣一大堆binlog文件,顯然正是罪魁禍?zhǔn)住?/p>

接下來(lái)考慮如何清理這些binlog文件。

三、處理

binlog日志可以通過(guò)參數(shù)expire_logs_days設(shè)置文件保留天數(shù)。

1、自動(dòng)清理

1)設(shè)置過(guò)期時(shí)間

臨時(shí)設(shè)置:

-- 查看binlog保留天數(shù)參數(shù)設(shè)置,0表示永不刪除
SHOW VARIABLES LIKE 'expire_logs_days';

-- 臨時(shí)修改(重啟失效)
SET GLOBAL expire_logs_days = 7;

永久設(shè)置:修改配置文件/etc/my.cnf,重啟mysql

[mysqld]
# 設(shè)置過(guò)期時(shí)間為7天
expire_logs_days = 7
# 限制單個(gè)文件大小
max_binlog_size = 1024M

2)觸發(fā)清理機(jī)制

執(zhí)行以下命令或重啟數(shù)據(jù)庫(kù),觸發(fā)清理機(jī)制

-- 刷新日志觸發(fā)清理
FLUSH LOGS;  

3)執(zhí)行結(jié)果

> 登錄mysql,設(shè)置過(guò)期時(shí)間,并執(zhí)行觸發(fā)機(jī)制:

 因?yàn)槭沁@兩天執(zhí)行產(chǎn)生的, 所以發(fā)現(xiàn)binlog并沒(méi)有清除減少,所以接下來(lái)就要手動(dòng)清理了。

2、手動(dòng)清理

1)查看binlog狀態(tài)

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

2)刪除文件

-- 刪除指定文件之前的日志(不包含該文件)
PURGE BINARY LOGS TO 'mysql-bin.000510';

-- 刪除指定時(shí)間前的日志
PURGE BINARY LOGS BEFORE '2025-06-20 00:00:00';

執(zhí)行刪除,查看binlog文件,磁盤(pán)空間釋放成功。

四、注意事項(xiàng)

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

(會(huì)導(dǎo)致主從中斷)

2、不要?jiǎng)h除正在使用的 binlog

(SHOW MASTER STATUS 顯示的當(dāng)前文件)

3、主從環(huán)境特別注意

1)確保清理的文件‌早于所有從庫(kù)的讀取位置

-- 在每個(gè)從庫(kù)執(zhí)行:
SHOW SLAVE STATUS\G  -- 觀(guān)察 Relay_Master_Log_File 和 Exec_Master_Log_Pos

2)清理后立即檢查主從同步狀態(tài)

SHOW SLAVE STATUS\G  -- 驗(yàn)證 Slave_IO_Running 和 Slave_SQL_Running

4、生產(chǎn)環(huán)境操作前務(wù)必備份 binlog 索引文件

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

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

總結(jié) 

到此這篇關(guān)于MySQL中Binlog文件占用空間比較大該如何清理的文章就介紹到這了,更多相關(guān)MySQL Binlog文件占空間大清理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論