字體:  

MySQL 的 Replication log 爆量要怎麼清除?

immvp 發表於: 2015-4-27 14:16 來源: ADJ網路控股集團


最近遇到一個狀況.就是在同步中的 replication log -> mysql-bin.00000x 更新的太快...
大概每 5Min 就會產生 1.1G 的檔案...這樣一來...即使在 /etc/my.cnf 裡面設定了
expire_logs_days = 1

只保留24Hours 以內的檔案還是太佔硬碟空間...這時後你可以參考這個 shell script

條件設定: 刪除一個小時以前的檔案...mysql-bin.index 做例外處理~

QUOTE:


#!/bin/bash

for entry in /var/lib/mysql/mysql-bin*.*
do
        dtFile=$(date -r $entry +'%Y%m%d%H%M%S')
        dtBefore=$(date -d "-1 hours" +'%Y%m%d%H%M%S')
        #echo "$dtFile"
        #echo "$dtBefore"
        if [ "$dtBefore" -gt "$dtFile" ] && [ "$entry" != "mysql-bin.index" ];
        then
                #echo "$entry"
                rm -f $entry
        fi
done


這樣就可以囉~