首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

LNMP 環境關閉 MySQL Binlog 釋放磁碟空間

     編輯:MySQL 資料庫相關知識

問題背景

LNMP 一鍵安裝包預設啟用 MySQL Binlog(二進制日誌),高頻讀寫場景下日誌快速增長,佔滿磁碟導致資料庫無法啟動。

三步關閉 Binlog

1. 修改配置檔註釋 Binlog 相關參數

編輯 /etc/my.cnf,找到並註釋:

# log-bin=mysql-bin
# binlog_format=mixed

2. 重啟 MySQL 生效

service mysqld restart

3. 清理已產生的 Binlog 檔案

  1. 登入 MySQL:
    /usr/local/mysql/bin/mysql -u root -p
  2. 執行重置主從日誌(慎用,會清空所有 Binlog):
    RESET MASTER;

注意:RESET MASTER 會刪除所有二進制日誌並重置索引,若有主從複制架構請勿執行,改用 PURGE BINARY LOGS TO 'mysql-bin.000xxx' 保留部分。

替代方案:保留 Binlog 但限制大小與保留天數

[mysqld]
log-bin=mysql-bin
binlog_format=ROW
expire_logs_days=7          # 保留 7 天
max_binlog_size=100M        # 單檔最大 100MB
binlog_expire_logs_seconds=604800  # 8.0+ 秒級精度

適用環境說明

  • 本教程路徑針對 LNMP 一鍵安裝包 環境
  • 其他環境請根據實際 my.cnf 路徑與 datadir 調整
  • 生產環境建議保留 Binlog 並配合備份策略,僅在純開發/測試或單機無主從場景下完全關閉

定期檢查 df -h 磁碟使用率,配合 logrotate 或 MySQL 內建過期清理,避免磁碟寫滿導致服務停擺。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved