萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

安全刪除 MySQL Binlog:PURGE MASTER LOGS 兩大黃金指令

直接刪除 mysql-bin.* 文件會導致索引文件不一致,甚至拒啟動。務必用原生 SQL 安全清理。

1. 按時間點清理

PURGE MASTER LOGS BEFORE '2023-06-22 22:46:26';

刪除該時間點**之前**的所有 binlog,指定時間點的文件保留。

2. 按文件名清理

PURGE MASTER LOGS TO 'mysql-bin.000010';

刪除 mysql-bin.000010 **之前**的所有 binlog,該文件保留。

自動化清理策略

  • 設置 expire_logs_days = 7(或更短),MySQL 自動清理過期日誌
  • 主從架構下,**執行前確認從庫已同步到該位置**(SHOW SLAVE STATUS\G 看 Relay_Master_Log_File)
  • 慎用 RESET MASTER:會刪除**所有** binlog 並從 000001 重新開始,會打斷主從同步

同步備份時刷新日誌

mysqldump --databases mydb --flush-logs --opt > backup.sql

--flush-logs 產生新 binlog,舊 binlog 即為增量備份範圍,配合 --master-data=2 記錄位置,實現「全備+增量」恢復體系。

copyright © 萬盛學電腦網 all rights reserved