星期一, 9月 07, 2015

[轉載] MySQL 資料庫bin log/ relay log 内部Logrotate的机制

Ref:

--

Binary Log rotate機制:

Rotate:每一條binary log寫入完成後,都會判斷當前檔是否超過 max_binlog_size,如果超過則自動生成一個binlog file
Deleteexpire-logs-days 只在 實例啟動時 flush logs 時判斷,如果檔存取時間早於設定值,則purge file
Relay Log rotate 機制:

Rotate:每從Master fetch一個events後,判斷當前檔是否超過 max_relay_log_size 如果超過則自動生成一個新的relay-log-file
Deletepurge-relay-log SQL Thread每執行完一個events時判斷,如果該relay-log 已經不再需要則自動刪除
Deleteexpire-logs-days 只在 實例啟動時 flush logs 時判斷,如果檔存取時間早於設定值,則purge file (同Binlog file (updated: expire-logs-daysrelaylogpurge沒有關係)
PS 因此還是建議配置 expire-logs-days 否則當我們的外部腳本因意外而停止時,還能有一層保障。
因此建議當slave不再使用時,通過reset slave來取消relaylog,以免出現relay-log堆積的情況。

沒有留言:

LinkWithin-相關文件

Related Posts Plugin for WordPress, Blogger...