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

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

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

摘要

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

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

1、查看日志文件

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

命令1

 show master logs;

命令2

 show binary logs;

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

2、刪除binlog

2.1、手動方式刪除

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

方式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、自動清除

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

2.2.1、Mysql 5.7

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

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

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

SHOW VARIABLES LIKE 'expire_logs_days';

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

SET GLOBAL expire_logs_days = 30;

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

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

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

  • binlog大小超過max_binlog_size
  • 手動執(zhí)行flush logs
  • 重新啟動時(MySQL將會new一個新文件用于記錄binlog)

此處我們可以通過方式2進行觸發(fā)

flush logs;

2.2.2、Mysql8.0版本

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

show variables like '%expire%';

2.參數(shù)說明

8.0版本的過期時間全局變量有binlog_expire_logs_seconds 和binlog_expire_logs_auto_purge,單位是秒管理時間粒度更小更符合實際應(yīng)用場景,同時還有expire_logs_days這個,但是準備棄用了,在未來版本中會被移除。參數(shù)說明如下

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

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

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

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

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

可以通過以下命令設(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;

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

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

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

按照下面代碼注釋記錄:expire_logs_days準備廢棄,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)雅的刪除二進制日志binlog的文章就介紹到這了,更多相關(guān)MYSQL刪除二進制日志binlog內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL?條件查詢詳解

    MySQL?條件查詢詳解

    這篇文章主要介紹了MySQL條件查詢,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • mysql 8.0.22壓縮包完整安裝與配置教程圖解(親測安裝有效)

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

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

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

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

    Windows下安裝MySQL5.5.19圖文教程

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

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

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

    MySQL5.73?root用戶密碼修改方法及ERROR?1193、ERROR1819與ERROR1290報錯解決

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

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

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

    關(guān)于MySQL索引的幾點值得注意的事項

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

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

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

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

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

最新評論

漯河市| 鄂尔多斯市| 蛟河市| 松原市| 卢氏县| 思茅市| 井冈山市| 林口县| 雷州市| 大冶市| 和田市| 搜索| 伊金霍洛旗| 南康市| 资兴市| 沅陵县| 商城县| 汝南县| 讷河市| 长顺县| 苗栗县| 海伦市| 松江区| 洪雅县| 东平县| 浪卡子县| 崇明县| 杨浦区| 宁陵县| 陆良县| 瓮安县| 中方县| 敦化市| 新和县| 武功县| 华亭县| 安阳市| 兴文县| 乡宁县| 吉首市| 沧州市|