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

MySQL 8 二進制日志(binlog)自動過期設置方法

 更新時間:2025年11月26日 09:16:00   作者:dbasql  
MySQL的二進制日志(binlog)是數(shù)據庫核心日志之一,記錄了所有數(shù)據修改操作(如 INSERT、UPDATE、DELETE),用于數(shù)據恢復、主從復制等場景,本文介紹MySQL 8 二進制日志(binlog)自動過期設置方法,感興趣的朋友一起看看吧

一、核心過期管理參數(shù)解析

MySQL 8 中 binlog 過期管理主要依賴 3 個核心參數(shù),其中 expire_logs_days 已被棄用,推薦使用新參數(shù) binlog_expire_logs_seconds 和 binlog_expire_logs_auto_purge,具體說明如下:

參數(shù)名稱狀態(tài)默認值功能說明
binlog_expire_logs_seconds推薦使用2592000 秒(30 天)設定 binlog 過期時間(單位:秒),過期后文件可被自動刪除。刪除觸發(fā)時機:數(shù)據庫啟動時、執(zhí)行 flush logs 時、binlog 大小超過 max_binlog_size 時。
binlog_expire_logs_auto_purge推薦使用ON(啟用)控制 binlog 自動清除功能的開關:ON 啟用自動清除,OFF 禁用。優(yōu)先級高于 binlog_expire_logs_seconds,即使設置了過期時間,禁用后也不會自動刪除。
expire_logs_days已棄用無(依賴前者)舊版過期時間參數(shù)(單位:天),MySQL 8 中已不推薦使用,未來將被移除,僅為兼容早期版本保留。

關鍵參數(shù)依賴規(guī)則(重點!)

  1. 參數(shù)優(yōu)先級binlog_expire_logs_auto_purge > binlog_expire_logs_seconds > expire_logs_days。
  2. 沖突處理
    • 若同時設置 binlog_expire_logs_seconds 和 expire_logs_days 為非零值,僅生效 binlog_expire_logs_seconds,并拋出警告。
    • 運行時若其中一個參數(shù)為非零值,無法直接將另一個設為非零值(需先將當前非零值設為 0)。
  3. 禁用自動清除的兩種場景
    • MySQL 8.0.29+ 版本:直接設置 binlog_expire_logs_auto_purge = OFF(推薦,優(yōu)先級最高)。
    • MySQL 8.0.28 及更早版本:需設置 binlog_expire_logs_seconds = 0,且不設置 expire_logs_days;或僅設置 expire_logs_days = 0(兼容舊版)。

二、binlog 自動過期配置方法

根據實際需求(啟用 / 禁用自動清除、自定義過期時間),可通過兩種方式配置參數(shù):臨時生效(當前會話)或永久生效(重啟后仍有效)。

1. 臨時配置(僅當前數(shù)據庫實例有效,重啟失效)

登錄 MySQL 終端,通過 SET 命令直接修改參數(shù),適合臨時測試場景:

場景 1:自定義 binlog 過期時間(如 7 天)

-- 7天 = 7*24*60*60 = 604800 秒
SET GLOBAL binlog_expire_logs_seconds = 604800;
-- 確保自動清除功能啟用(默認已啟用,無需修改,此處為驗證)
SET GLOBAL binlog_expire_logs_auto_purge = ON;

場景 2:禁用 binlog 自動清除(保留所有 binlog)

-- MySQL 8.0.29+ 版本(推薦)
SET GLOBAL binlog_expire_logs_auto_purge = OFF;
-- MySQL 8.0.28 及更早版本
SET GLOBAL binlog_expire_logs_seconds = 0;
-- 注意:此時不可設置 expire_logs_days 為非零值

2. 永久配置(重啟數(shù)據庫后生效,生產環(huán)境推薦)

需修改 MySQL 配置文件(通常為 my.cnf 或 my.ini),不同系統(tǒng)路徑可能不同(Linux 常見路徑:/etc/my.cnf,Windows 常見路徑:C:\ProgramData\MySQL\MySQL Server 8.0\my.ini):

編輯配置文件:

vim /etc/my.cnf  # Linux 系統(tǒng)

添加 / 修改以下配置項(根據需求選擇):

場景 1:設置 binlog 7 天后自動過期(生產環(huán)境常用)

[mysqld]
# 啟用 binlog(若未啟用,需先開啟)
log_bin = /var/lib/mysql/mysql-bin
# 設置過期時間為 7 天(604800 秒)
binlog_expire_logs_seconds = 604800
# 啟用自動清除(默認 ON,可省略)
binlog_expire_logs_auto_purge = ON

場景 2:禁用 binlog 自動清除(如需要長期保留日志)

[mysqld]
log_bin = /var/lib/mysql/mysql-bin
# MySQL 8.0.29+ 版本
binlog_expire_logs_auto_purge = OFF
# MySQL 8.0.28 及更早版本
binlog_expire_logs_seconds = 0

保存配置文件后,重啟 MySQL 服務使配置生效:

# Linux 系統(tǒng)(CentOS/RHEL)
systemctl restart mysqld
# Linux 系統(tǒng)(Ubuntu/Debian)
systemctl restart mysql
# Windows 系統(tǒng)(命令行)
net stop mysql80 && net start mysql80

3. 驗證配置是否生效

登錄 MySQL 終端,執(zhí)行以下命令查看參數(shù)當前值:

-- 查看核心參數(shù)配置
SHOW GLOBAL VARIABLES LIKE 'binlog_expire_logs_%';
SHOW GLOBAL VARIABLES LIKE 'expire_logs_days';

若輸出結果與配置值一致(如 binlog_expire_logs_seconds = 604800),說明配置生效。

三、手動清理 binlog(補充方案)

若需立即清理過期或指定 binlog 文件,可使用 PURGE BINARY LOGS 命令(無需等待自動清除),常用用法如下:

清理指定日期之前的 binlog:

-- 清理 2024-05-01 00:00:00 之前的所有 binlog
PURGE BINARY LOGS BEFORE '2024-05-01 00:00:00';

清理指定文件名之前的 binlog:

-- 先查看當前 binlog 文件列表
SHOW BINARY LOGS;
-- 清理到 mysql-bin.000100 之前的文件(不包含該文件)
PURGE BINARY LOGS TO 'mysql-bin.000100';

注意:手動清理時需避免刪除正在使用的 binlog 文件(當前日志文件可通過 SHOW MASTER STATUS 查看),否則可能導致主從復制失敗或數(shù)據恢復異常。

四、生產環(huán)境配置建議與注意事項

  1. 合理設置過期時間
    • 主從復制場景:需確保 binlog 過期時間長于從庫同步延遲,避免主庫提前刪除從庫未同步的 binlog(建議至少保留 3-7 天)。
    • 單實例場景:根據存儲空間大小設置,若日均 binlog 生成量較大,可縮短至 1-3 天。
  2. 禁用自動清除的場景:數(shù)據備份周期較長、需要長期審計日志的場景,禁用后需定期手動清理,避免存儲空間耗盡。
  3. 避免混用新舊參數(shù):盡量使用 binlog_expire_logs_seconds 和 binlog_expire_logs_auto_purge,避免依賴已棄用的 expire_logs_days,防止未來版本升級時兼容性問題。
  4. 監(jiān)控 binlog 存儲:定期檢查 binlog 存儲目錄大?。J路徑:/var/lib/mysql/),若發(fā)現(xiàn)自動清理未生效,需排查參數(shù)配置或日志文件權限。
  5. 權限要求:修改全局參數(shù)(SET GLOBAL)或編輯配置文件需具備 SUPER 權限(如 root 用戶),普通用戶無權限操作。

五、總結

MySQL 8 的 binlog 自動過期管理通過 binlog_expire_logs_seconds 和 binlog_expire_logs_auto_purge 實現(xiàn)了靈活控制,既支持按時間自動清理,也可按需禁用自動清除。生產環(huán)境中,建議根據業(yè)務場景(主從復制、數(shù)據備份)合理設置過期時間,結合手動清理補充,既能避免存儲空間浪費,又能保障數(shù)據安全性。需注意參數(shù)優(yōu)先級和版本兼容性,避免因配置不當導致日志丟失或復制異常

到此這篇關于MySQL 8 二進制日志(binlog)自動過期設置方法的文章就介紹到這了,更多相關mysql binlog二進制日志過期內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MySQL插入中文不亂碼的5種方法

    MySQL插入中文不亂碼的5種方法

    這篇文章主要介紹了MySQL 插入中文不亂碼的5種方法,需要的朋友可以參考下
    2016-06-06
  • 一文分享MySQL數(shù)據庫備份恢復腳本

    一文分享MySQL數(shù)據庫備份恢復腳本

    在日常業(yè)務場景,通常情況下,我們不需要進行全庫備份,而是只備份需要的數(shù)據庫,本文分享一個MySQL數(shù)據庫備份恢復腳本,用于備份和恢復指定的數(shù)據庫,希望對大家有所幫助
    2026-06-06
  • MySQL中count()查詢的性能梳理

    MySQL中count()查詢的性能梳理

    這篇文章主要為大家詳細介紹了MySQL中count()查詢的性能對比與優(yōu)化,文中的示例代碼講解詳細,具有一定的參考價值,需要的可以了解一下
    2023-07-07
  • 一篇文章帶你了解MySQL單表訪問方法

    一篇文章帶你了解MySQL單表訪問方法

    MySQL將對數(shù)據不同的訪問方式稱為access method (訪問方法),同一個SQL可以用不同的訪問方法執(zhí)行,不過不同的方法花費的成本差異也是巨大的,下面這篇文章主要給大家介紹了關于MySQL單表訪問方法的相關資料,需要的朋友可以參考下
    2023-06-06
  • MYSQL?增加從庫方式介紹

    MYSQL?增加從庫方式介紹

    這篇文章主要介紹了MYSQL?增加從庫方式介紹,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下,希望對你的學習有所幫助
    2022-08-08
  • MySQL如何添加數(shù)據insert命令

    MySQL如何添加數(shù)據insert命令

    這篇文章主要介紹了MySQL如何添加數(shù)據insert命令問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • MySQL 設計和命令行模式下建立詳解

    MySQL 設計和命令行模式下建立詳解

    這篇文章主要介紹了MySQL 設計和命令行模式下建立詳解的相關資料,主要講解了數(shù)據庫的建立與數(shù)據表的設計,需要的朋友可以參考下
    2017-01-01
  • Mysql用戶創(chuàng)建以及權限賦予操作的實現(xiàn)

    Mysql用戶創(chuàng)建以及權限賦予操作的實現(xiàn)

    在MySQL中,創(chuàng)建新用戶并為其授予權限是一項常見的操作,本文主要介紹了Mysql用戶創(chuàng)建以及權限賦予操作的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • mysql 獲取昨天日期、今天日期、明天日期以及前一個小時和后一個小時的時間

    mysql 獲取昨天日期、今天日期、明天日期以及前一個小時和后一個小時的時間

    這篇文章主要介紹了mysql 獲取昨天日期、今天日期、明天日期以及前一個小時和后一個小時的時間,需要的朋友可以參考下
    2018-01-01
  • 解決Linux安裝mysql 在/etc下沒有my.cnf的問題

    解決Linux安裝mysql 在/etc下沒有my.cnf的問題

    這篇文章主要介紹了解決Linux安裝mysql 在/etc下沒有my.cnf的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01

最新評論

平顶山市| 乌审旗| 忻城县| 德安县| 武胜县| 华容县| 澄迈县| 织金县| 泗水县| 岳阳市| 共和县| 栾城县| 岑巩县| 永平县| 香格里拉县| 太康县| 扬中市| 河西区| 南宁市| 沂南县| 清徐县| 云浮市| 建阳市| 馆陶县| 会宁县| 澄江县| 辉南县| 林周县| 浦东新区| 德昌县| 阿城市| 合川市| 遂昌县| 岑巩县| 新源县| 界首市| 榆中县| 牡丹江市| 思南县| 楚雄市| 台北县|