innobackupex備份參數slave-info、safe-slave-backup


mysql物理備份用的比較多的是innobackupex命令,備份常用,但對於里面的兩個參數slave-info、safe-slave-backup一直搞的不太明白,今兒親測了一下。

先解釋一下參數意義

--slave-info :在從庫進行備份時,該參數會在備份目錄下生成xtrabackup_slave_info文件,文件記錄主庫的binlog日志位置點。在進行數據庫恢復,搭建多從庫時都需要這個文件。

如果在主庫進行備份(在主庫備份的情況很少,把主庫惹怒了只能跑路了),該參數就不起作用了,主庫的備份目錄下始終會生成文件xtrabackup_binlog_info 記錄binlog日志位置點。

--safe-slave-backup:官方說備份時檢測從庫是否有打開的臨時表,如果沒有就stop SQL thread開始備份,備份完后start SQL thread;

如果有打開的臨時表就等,直到--safe-slave-backup-timeout超時。--safe-slave-backup-timeout默認300s,每3s進行一次重試檢查,共重試100次。

這個參數和--slave-info經常一起使用,為了保證數據的一致性。

測試結果

1. 在備份過程中從庫也會同步主庫的DML\DDL等操作,而且這些操作也會在從庫一並備份,可見並不是一開始就stop SQL thread的;

2. 在innodb文件拷貝完成后,會刷新所有的表,這個時候從庫會stop SQL thread,阻止主庫上的一切操作,並且記錄這個時候的binlog日志點到備份文件中,整個備份完成后,start SQL thread;

3. 對於不加--safe-slave-backup參數的備份,在innodb文件拷貝完成后,會刷新所有的表,並且記錄這個時候的binlog日志點到備份文件中;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM