mysqlでのXtraBackupのバックアップ原理


mysqlでのXtraBackupのバックアップ原理
xtrabackupの公式ダウンロードアドレスは:
http://www.percona.com/software/percona-xtrabackup。

xtrabackupには、xtrabackupとinnobackupexの2つの主要なツールが含まれています.両者の違いは次のとおりです.
1 xtrabackup    innodb xtradb      ,     myisam    
2 innobackupex      xtrabackup Perl  ,      innodb myisam,   myisam             。    myisam       。

innobackupexツールのバックアッププロセスの原理図
mysql中的XtraBackup的备份原理_第1张图片
図のように、バックアップが開始されたとき
1        xtrabackup_log       ,    mysql redo   ,    redo       ,            xtrabackup_log 

2   innodb             idbdata1                  

3      ,  flush table with read lock  

4   .frm .myd .myi  

5          binary log    

6       unlock tables

7   xtrabackup_log  

       
       xtrabackup   innodb  , xtrabackup  xtrabackup_Log    ,             innodb      ,          

     mysql中的XtraBackup的备份原理_第2张图片         
 
インクリメンタルバックアップ
インクリメンタル・バックアップは、主にinnodbで変更されたページをコピーすることによって行われます(LSNがxtrabackup_checkpointsより大きいLSN番号を指します).インクリメンタル・バックアップはフル・バックアップに基づいており、最初のインクリメンタル・バックアップのデータは前回のフル・バックアップに基づいており、その後の各インクリメンタルは前回のインクリメンタルに基づいており、最終的には一貫性のあるインクリメンタルに達し、インクリメンタルの過程では、フル・バックアップと類似しており、第2のステップとは異なります
        
     mysql中的XtraBackup的备份原理_第3张图片     
インクリメンタルバックアップのリカバリ
フル・ライブラリ・リカバリと同様に、2つのステップが必要です.
1データファイルのリカバリは、インクリメンタルバックアップとxtrabackup_の3つの部分に分かれています.log
2コミットされていないトランザクションのロールバック
mysql中的XtraBackup的备份原理_第4张图片     
innobackupexの使用例
     wKiom1lh5KKBQsjTAAA8hUfupb8778.jpg
1バックアップ・ユーザーの作成
  wKiom1lh5LWi3kmjAABIoGmhsmE760.jpg        
データベースの完全な準備を行う
wKioL1lh5NKhjUSUAAAimVXNPm0105.jpg         
次のパラメータを使用して、ライブラリ全体のバックアップを行います.
mysql中的XtraBackup的备份原理_第5张图片     
生成されたファイルの表示
mysql中的XtraBackup的备份原理_第6张图片             
注意すべきいくつかのファイル
mysql中的XtraBackup的备份原理_第7张图片
データベースを削除し、ライブラリ全体のリカバリを行います.
wKioL1lh5SPxPw38AAAoPzOa2jc849.jpg     
データベースを閉じる
wKioL1lh5TOg-6CoAAB200IMMjI851.jpg     
リカバリ
mysql中的XtraBackup的备份原理_第8张图片         
以上の対応ディレクトリはinnobackupexが自分で作成したディレクトリをフルバックアップ
mysql中的XtraBackup的备份原理_第9张图片      
権限の変更
 
[root@MASTER_03 tmp]# chown -R mysql.mysql/data/3306/data/
mysqldの起動
[root@MASTER_03 tmp]#/etc/init.d/mysqld start
mysql中的XtraBackup的备份原理_第10张图片                 
データが正常に復元されたことが判明しました
    
まず完全に準備する.
wKioL1lh5b6TT1a_AABsqVBfPxY623.jpg     
インクリメンタルバックアップ
mysql中的XtraBackup的备份原理_第11张图片     
データを挿入
wKioL1lh5fSR6wh7AAA1NTDr8Dw307.jpg
インクリメンタルバックアップ2
wKioL1lh5gDAPIkNAAChi-o3IWw538.jpg   
インクリメンタルバックアップのリカバリ
インクリメンタル・バックアップのリカバリには3つのステップが必要です
1フル・バックアップのリストア
2フル・バックアップへのインクリメンタル・バックアップのリカバリ(リカバリを開始するインクリメンタル・バックアップには--redo-onlyパラメータを追加し、最後のインクリメンタル・バックアップには--redo-onlyを削除する)
3全体のフル・バックアップをリカバリし、コミットされていないデータをロールバック
          
シミュレーションテスト
mysql中的XtraBackup的备份原理_第12张图片
テストが完了しても、リカバリは簡単です.