MHA 清理relay log(purge_relay_logs),relaylogpurge

來源:互聯網
上載者:User

MHA 清理relay log(purge_relay_logs),relaylogpurge

    MySQL資料庫主從複製在預設情況下從庫的relay logs會在SQL線程執行完畢後被自動刪除,但是對於MHA情境下,對於某些滯後從庫的恢複依賴於其他從庫的relay log,因此採取禁用自動刪除功能以及定期清理的辦法。對於清理過多過大的relay log需要注意引起的複寫延遲資源開銷等。MHA可通過purge_relay_logs指令碼及配合cronjob來完成此項任務,具體描述如下。


1、purge_relay_logs的功能
  a、為relay日誌建立永久連結(最小化大量刪除大檔案導致的效能問題)
  b、SET GLOBAL relay_log_purge=1; FLUSH LOGS; SET GLOBAL relay_log_purge=0;
  c、刪除relay log(rm –f  /path/to/archive_dir/*)


2、purge_relay_logs的用法及相關參數
###用法
# purge_relay_logs --help
Usage:
    purge_relay_logs --user=root --password=rootpass --host=127.0.0.1

###參數描述
--user mysql              使用者名稱,預設為root
--password mysql          密碼
--port                    連接埠號碼
--host                    主機名稱,預設為127.0.0.1
--workdir                 指定建立relay log的永久連結的位置,預設是/var/tmp,成功執行指令碼後,永久連結的中繼記錄檔被刪除
                          由於系統不同分區建立永久連結檔案會失敗,故需要執行永久連結具體位置,建議指定為relay log相同的分區
--disable_relay_log_purge 預設情況下,參數relay_log_purge=1,指令碼不做任何處理,自動結束
                          設定該參數,指令碼會將relay_log_purge設定為0,當清理relay log之後,最後將參數設定為OFF(0)
             

3、定製清理relay log cronjob
pureg_relay_logs指令碼在不阻塞SQL線程的情況下自動清理relay log。對於不斷產生的relay log直接將該指令碼部署到crontab以實現按天或按小時定期清理。
$ crontab -l 
# purge relay logs at 5am 
0 5 * * * app /usr/bin/purge_relay_logs --user=root --password=PASSWORD --disable_relay_log_purge >> /var/log/masterha/purge_relay_logs.log 2>&1            


4、手動清理樣本
# purge_relay_logs --user=mha --password=mha --disable_relay_log_purge
2015-04-23 14:33:20: purge_relay_logs script started.
 relay_log_purge is enabled. Disabling..
 Found relay_log.info: /data/mysqldata/relay-log.info
 Opening /data/mysqldata/vdbsrv3-relay-bin.000001 ..
 Opening /data/mysqldata/vdbsrv3-relay-bin.000002 ..
 Executing SET GLOBAL relay_log_purge=1; FLUSH LOGS; sleeping a few seconds so that SQL thread can delete older relay log files (if it keeps up);
 SET GLOBAL relay_log_purge=0; .. ok.
2015-04-23 14:33:23: All relay log purging operations succeeded.

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.