最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MYSQL如何優(yōu)雅的刪除二進(jìn)制日志binlog

 更新時(shí)間:2025年05月07日 10:26:43   作者:血小濺  
MySQL 的二進(jìn)制日志(binlog)是用于記錄所有修改數(shù)據(jù)庫(kù)的操作的文件,因?yàn)樗鼤?huì)占用大量磁盤(pán)空間,所以本文我們來(lái)聊聊如何優(yōu)雅的刪除二進(jìn)制日志binlog吧

摘要

MySQL 的二進(jìn)制日志(binlog)是用于記錄所有修改數(shù)據(jù)庫(kù)的操作的文件,包括增刪改等操作。這些操作記錄在二進(jìn)制日志中,可以用于數(shù)據(jù)恢復(fù)、數(shù)據(jù)同步等操作。但是,隨著時(shí)間的推移,二進(jìn)制日志文件會(huì)越來(lái)越多,占用大量磁盤(pán)空間。因此,需要定期清理二進(jìn)制日志文件。

注意:mysql的binlog日志不可以簡(jiǎn)單粗暴的直接刪除,否則后果不堪設(shè)想!?。?/strong>

1、查看日志文件

通過(guò)命令查看binlog日志文件信息,通過(guò)數(shù)據(jù)庫(kù)UI工具或者服務(wù)器mysql控制臺(tái)執(zhí)行都行。以下兩個(gè)命令效果是一樣的。

命令1

 show master logs;

命令2

 show binary logs;

如下是在navicat中的效果,第一列是日志名稱(chēng),第二列是文件大小,mysql8.0中會(huì)多一列Encrpted。

2、刪除binlog

2.1、手動(dòng)方式刪除

注意此處的手動(dòng)刪除并不是rm -rf ,此種刪除方式是指通過(guò)命令方式刪除

方式1:刪除指定文件之前的日志,但不包括指定的日志

purge binary logs to 'mysql-bin.000068';

刪除后,我們可以看到mysql-bin.000067被刪除了,mysql-bin.000068還在。

方式2:刪除指定日期之前的日志

purge binary logs before '2021-08-22 18:00:00';

操作樣例:略

2.2、自動(dòng)清除

除了手動(dòng)方式清除外,msyql也提供了自動(dòng)清除方案,mysql不同版本方式也有些許不同,具體如下:

2.2.1、Mysql 5.7

expire_logs_days 是 MySQL 中用于控制二進(jìn)制日志文件保留時(shí)間的參數(shù)。二進(jìn)制日志是 MySQL 中用于記錄所有修改數(shù)據(jù)庫(kù)的操作的文件,包括增刪改等操作。這些操作記錄在二進(jìn)制日志中,可以用于數(shù)據(jù)恢復(fù)、數(shù)據(jù)同步等操作。

expire_logs_days 參數(shù)用于控制二進(jìn)制日志文件的保留時(shí)間,如果一個(gè)二進(jìn)制日志文件的創(chuàng)建時(shí)間早于 expire_logs_days 天,則這個(gè)文件會(huì)被自動(dòng)刪除。這個(gè)參數(shù)的默認(rèn)值是 0,表示不自動(dòng)刪除二進(jìn)制日志文件。expire_logs_days 參數(shù)的設(shè)置范圍是 0 到 4294967295(2的32次方減1),單位是天。需要注意的是,如果將 expire_logs_days 參數(shù)設(shè)置為一個(gè)非常大的值,可能會(huì)導(dǎo)致磁盤(pán)空間不足。因此,在設(shè)置 expire_logs_days 參數(shù)時(shí),需要根據(jù)實(shí)際情況進(jìn)行調(diào)整,確保磁盤(pán)空間充足,并且能夠滿(mǎn)足數(shù)據(jù)恢復(fù)、數(shù)據(jù)同步等操作的需求。另外,需要注意的是,expire_logs_days 參數(shù)只控制二進(jìn)制日志文件的保留時(shí)間,不會(huì)對(duì)已經(jīng)寫(xiě)入的二進(jìn)制日志文件進(jìn)行刪除。如果需要?jiǎng)h除已經(jīng)寫(xiě)入的二進(jìn)制日志文件,可以使用 PURGE BINARY LOGS 命令。

可以通過(guò)以下命令查看當(dāng)前 MySQL 實(shí)例中的 expire_logs_days 參數(shù)值:

SHOW VARIABLES LIKE 'expire_logs_days';

可以通過(guò)以下命令設(shè)置 expire_logs_days 參數(shù)的值:

SET GLOBAL expire_logs_days = 30;

這個(gè)命令將 expire_logs_days 參數(shù)的值設(shè)置為 30,表示保留 30 天內(nèi)的二進(jìn)制日志文件,超過(guò) 30天的文件會(huì)被自動(dòng)刪除。

需要注意的是,如果設(shè)置了 expire_logs_days 參數(shù),但是沒(méi)有啟用二進(jìn)制日志,這個(gè)參數(shù)是沒(méi)有作用的。

設(shè)置之后不會(huì)立即清除,觸發(fā)條件是:

  • binlog大小超過(guò)max_binlog_size
  • 手動(dòng)執(zhí)行flush logs
  • 重新啟動(dòng)時(shí)(MySQL將會(huì)new一個(gè)新文件用于記錄binlog)

此處我們可以通過(guò)方式2進(jìn)行觸發(fā)

flush logs;

2.2.2、Mysql8.0版本

1.查看binlog的過(guò)期相關(guān)的全局變量

show variables like '%expire%';

2.參數(shù)說(shuō)明

8.0版本的過(guò)期時(shí)間全局變量有binlog_expire_logs_seconds 和binlog_expire_logs_auto_purge,單位是秒管理時(shí)間粒度更小更符合實(shí)際應(yīng)用場(chǎng)景,同時(shí)還有expire_logs_days這個(gè),但是準(zhǔn)備棄用了,在未來(lái)版本中會(huì)被移除。參數(shù)說(shuō)明如下

binlog_expire_logs_secondsbinlog_expire_logs_auto_purge 是 MySQL 8.0 中用于控制二進(jìn)制日志文件保留時(shí)間的參數(shù)。

binlog_expire_logs_seconds 參數(shù)用于控制二進(jìn)制日志文件的保留時(shí)間,單位是秒。如果一個(gè)二進(jìn)制日志文件的創(chuàng)建時(shí)間早于 binlog_expire_logs_seconds 秒,則這個(gè)文件會(huì)被自動(dòng)刪除。這個(gè)參數(shù)的默認(rèn)值是 2592000 秒(30 天),表示保留 30 天內(nèi)的二進(jìn)制日志文件,超過(guò) 30 天的文件會(huì)被自動(dòng)刪除。

binlog_expire_logs_auto_purge 參數(shù)用于控制是否自動(dòng)清除過(guò)期的二進(jìn)制日志文件。如果將這個(gè)參數(shù)設(shè)置為 ON,則 MySQL 會(huì)自動(dòng)清除過(guò)期的二進(jìn)制日志文件。這個(gè)參數(shù)的默認(rèn)值是 ON。

可以通過(guò)以下命令查看當(dāng)前 MySQL 實(shí)例中的 binlog_expire_logs_secondsbinlog_expire_logs_auto_purge 參數(shù)值:

SHOW VARIABLES LIKE 'binlog_expire_logs_seconds';
SHOW VARIABLES LIKE 'binlog_expire_logs_auto_purge';

可以通過(guò)以下命令設(shè)置 binlog_expire_logs_secondsbinlog_expire_logs_auto_purge 參數(shù)的值:

SET GLOBAL binlog_expire_logs_seconds = 86400;
SET GLOBAL binlog_expire_logs_auto_purge = OFF;

這個(gè)命令將 binlog_expire_logs_seconds 參數(shù)的值設(shè)置為 86400 秒(1 天),表示保留 1 天內(nèi)的二進(jìn)制日志文件,超過(guò) 1 天的文件會(huì)被自動(dòng)刪除。將 binlog_expire_logs_auto_purge 參數(shù)的值設(shè)置為 OFF,表示不自動(dòng)清除過(guò)期的二進(jìn)制日志文件。

需要注意的是,二進(jìn)制日志文件的清除策略需要根據(jù)實(shí)際情況進(jìn)行調(diào)整,確保磁盤(pán)空間充足,并且能夠滿(mǎn)足數(shù)據(jù)恢復(fù)、數(shù)據(jù)同步等操作的需求。在清除二進(jìn)制日志文件時(shí),需要確保不會(huì)影響正在寫(xiě)入的二進(jìn)制日志文件,并且需要備份好重要的二進(jìn)制日志文件,以便進(jìn)行數(shù)據(jù)恢復(fù)、數(shù)據(jù)同步等操作。

參數(shù)名
binlog_expire_logs_secondsbinlog可以以秒為單位進(jìn)行清理,之前參數(shù)是按照expire_logs_days天為刪除,有時(shí)因1天當(dāng)中,可能會(huì)生成幾百G的binlog日志,導(dǎo)致空間不夠用,手動(dòng)或腳本清理?,F(xiàn)在不需要那麻煩。更貼合現(xiàn)狀的解決方案
expire_logs_days準(zhǔn)備棄用,在未來(lái)版本中會(huì)被移除
binlog_expire_logs_auto_purgebinlog用于控制日志自動(dòng)清理機(jī)制,MySQL 8.0.29開(kāi)始,可以通過(guò)將binlog_expire_logs_auto_purge系統(tǒng)變量設(shè)置為OFF來(lái)禁用binlog的自動(dòng)清除。這優(yōu)先于binlog_expire_logs_seconds的任何設(shè)置

按照下面代碼注釋記錄:expire_logs_days準(zhǔn)備廢棄,binlog_expire_logs_auto_purge 和binlog_expire_logs_seconds 需要配合使用。

    3  Warning	1287	'@@expire_logs_days' is deprecated and will be removed 
    in a future release. Please use binlog_expire_logs_seconds instead.
 
 
# ASSERT: If binlog_expire_logs_auto_purge is set to ON, then the server
#         MUST purge automatically binary log files according to the
#         binlog_expire_logs_seconds setting.
#
 
#
# ASSERT: If binlog_expire_logs_auto_purge is set to ON and both
#         binlog_expire_logs_seconds and expire_logs_days are set to 0,
#         then binary log files SHALL NOT be automatically purged.
#

到此這篇關(guān)于MYSQL如何優(yōu)雅的刪除二進(jìn)制日志binlog的文章就介紹到這了,更多相關(guān)MYSQL刪除二進(jìn)制日志binlog內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

  • mysql 8.0.22壓縮包完整安裝與配置教程圖解(親測(cè)安裝有效)

    mysql 8.0.22壓縮包完整安裝與配置教程圖解(親測(cè)安裝有效)

    這篇文章主要介紹了mysql 8.0.22壓縮包完整安裝與配置教程圖解(親測(cè)安裝有效),本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • navicat創(chuàng)建MySql定時(shí)任務(wù)的方法詳解

    navicat創(chuàng)建MySql定時(shí)任務(wù)的方法詳解

    這篇文章主要介紹了navicat創(chuàng)建MySql定時(shí)任務(wù)的方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Windows下安裝MySQL5.5.19圖文教程

    Windows下安裝MySQL5.5.19圖文教程

    這篇文章主要介紹了Windows下安裝MySQL5.5.19圖文教程,非常詳細(xì),對(duì)每一步都做了說(shuō)明,需要的朋友可以參考下
    2014-07-07
  • MySQL連表更新實(shí)現(xiàn)高效數(shù)據(jù)同步的實(shí)戰(zhàn)指南

    MySQL連表更新實(shí)現(xiàn)高效數(shù)據(jù)同步的實(shí)戰(zhàn)指南

    在數(shù)據(jù)庫(kù)開(kāi)發(fā)中,連表更新(JOIN UPDATE)是一種常見(jiàn)且強(qiáng)大的操作,它允許我們基于關(guān)聯(lián)表的數(shù)據(jù)來(lái)更新目標(biāo)表,本文將深入探討MySQL連表更新的語(yǔ)法、應(yīng)用場(chǎng)景、性能優(yōu)化及常見(jiàn)陷阱,幫助開(kāi)發(fā)者掌握這一核心技能,需要的朋友可以參考下
    2026-02-02
  • MySQL5.73?root用戶(hù)密碼修改方法及ERROR?1193、ERROR1819與ERROR1290報(bào)錯(cuò)解決

    MySQL5.73?root用戶(hù)密碼修改方法及ERROR?1193、ERROR1819與ERROR1290報(bào)錯(cuò)解決

    這篇文章主要給大家介紹了關(guān)于MySQL5.73?root用戶(hù)密碼修改方法及ERROR?1193、ERROR1819與ERROR1290:...?running?with?--skip-...報(bào)錯(cuò)的解決方法,文中通過(guò)圖文將解決的步驟介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • Mysql數(shù)據(jù)庫(kù)命令大全

    Mysql數(shù)據(jù)庫(kù)命令大全

    mysql命令大家經(jīng)常會(huì)用到,但是很少有朋友整理吧,最近項(xiàng)目不多,抽個(gè)時(shí)間把mysql數(shù)據(jù)庫(kù)命令總結(jié)給大家,需要的朋友可以參考下
    2015-09-09
  • 關(guān)于MySQL索引的幾點(diǎn)值得注意的事項(xiàng)

    關(guān)于MySQL索引的幾點(diǎn)值得注意的事項(xiàng)

    索引對(duì)查詢(xún)的速度有著至關(guān)重要的影響,MySQL索引的建立對(duì)于MySQL的高效運(yùn)行是很重要的
    2014-07-07
  • MySQL數(shù)據(jù)表修改與管理的完整指南

    MySQL數(shù)據(jù)表修改與管理的完整指南

    在數(shù)據(jù)庫(kù)的日常使用中,我們經(jīng)常需要對(duì)已有的數(shù)據(jù)表進(jìn)行調(diào)整和優(yōu)化,無(wú)論是修改表結(jié)構(gòu)、刪除不再需要的表,還是管理臨時(shí)數(shù)據(jù),本文將全面講解MySQL數(shù)據(jù)表的修改、刪除和臨時(shí)表管理,讓你輕松應(yīng)對(duì)各種表管理需求,需要的朋友可以參考下
    2026-02-02
  • MySQL導(dǎo)入.CSV數(shù)據(jù)中文亂碼的解決方式

    MySQL導(dǎo)入.CSV數(shù)據(jù)中文亂碼的解決方式

    當(dāng)將xls或xlsx文件轉(zhuǎn)換為CSV并導(dǎo)入數(shù)據(jù)庫(kù)時(shí),可能出現(xiàn)亂碼,原因是編碼格式不是UTF-8,解決方法是使用Notepad或記事本打開(kāi)CSV文件,所以本文給大家介紹了MySQL導(dǎo)入.CSV數(shù)據(jù)中文亂碼的解決方式,需要的朋友可以參考下
    2024-08-08
  • 最新評(píng)論

    江安县| 石柱| 渑池县| 平罗县| 洪江市| 金阳县| 郑州市| 故城县| 枣阳市| 修武县| 贡觉县| 油尖旺区| 永济市| 景宁| 故城县| 海林市| 长沙县| 丽水市| 大洼县| 福建省| 镇巴县| 长兴县| 石首市| 田林县| 汉中市| 临武县| 盐池县| 石首市| 太仓市| 永顺县| 织金县| 长武县| 荥经县| 黄石市| 平湖市| 平阴县| 阳高县| 垣曲县| 临朐县| 丰城市| 个旧市|