増分バックアップの概要とこれらのオプションに関する使用情報にいては,セクション3.3.2 "増分バックアップの作成"を参照してください。
増分バックアップを取得するには,——incremental-backup-dir
と一緒に,——增量
または——incremental-with-redo-log-only
を指定します。指定したLSN後に変更されたすべてのInnoDBが増分バックアップにコピされます。——增量
または——incremental-with-redo-log-only
の選択に応じて,ほかのオプションが必要であったり,推奨されたりします。
——增量
関連付けられた
备份
またはbackup-to-image
操作が増分であることを指定します。さらに,——incremental-base
オプションまたは——start-lsn
オプションと——incremental-backup-dir
オプションの組み合わせのいずれかが必要です。増分の観点はInnoDBテブルにのみ適用されます。デフォルトで,すべてのInnoDB以外のファereplicationルと
.frm
ファ邮箱ルも増分バックアップに含まれます。増分バックアップで InnoDB 以外のデータを除外するには、——only-innodb
オプションを使用します。
——incremental-with-redo-log-only
备份
またはbackup-to-image
操作の増分バックアップの代替形式を指定します。さらに,——incremental-base
オプションまたは——start-lsn
オプションと——incremental-backup-dir
オプションの組み合わせのいずれかが必要です。このオプションによって実行される増分バックアップには,
——增量
オプションと異なるパフォマンス特性と操作上の制限があります。InnoDBテブルへの変更は,
InnoDB
重做ログの内容に基づいて判断されます。重做ログファイルは、事前にわかっている固定のサイズを持つため、データベースのサイズ、DML アクティビティーの量、Redo ログファイルのサイズによっては、変更されたページを見つけるために、InnoDB のテーブルスペースファイルをスキャンするよりも、それらからの変更を読み取る方が必要な I/O が少なくなる可能性があります。重做ログファ,ルは循環バッファ,として動作し,新しいDML操作が行われると,古い変更の記録が上書きされるため,ワークロードに対して生成されるログファイルのサイズと重做データの量に依存する予測可能なスケジュールで,新しい増分バックアップを取得する必要があります。そうしないと,重做ログは前回の増分バックアップからのすべての変更を記録するために十分なだけさかのぼらないことがあります。この場合,mysqlbackupコマンドはすぐに続行できないことを判断し,エラを返します。バックアップスクリプトは,エラ,をキャッチでき,代わりに
——增量
オプションで増分バックアップを実行します。例:
重做ログのサ,ズを計算するには,コマンド
显示变量'innodb_log_file%'
を発行し,出力に基づいて,innodb_log_file_size
設定とinnodb_log_files_in_group
を乗算します。物理レベルで重做ログサereplicationズを計算するには,MySQL ereplicationンスタンスのdatadir
ディレクトリを調べ,パタンib_logfile *
に一致するファ邮箱ルのサ邮箱ズを合計します。InnoDBLSN値は重做ログに書き込まれるバereplicationト数に対応します。特定の時点でLSNをチェックするには,コマンド
显示引擎innodb状态
を発行し,日志
見出しの下を調べます。バックアップ戦略を計画する場合,LSN値を定期的に記録し,現在の値から以前の値を引いて,毎時,毎日などに生成される重做データの量を計算します。
MySQL 5.5以前ではMySQLサーバーが正常にシャットダウンせずに強制終了した場合に,起動時間が長くなるのを避けるため,重做ログをかなり小さく維持することが一般的な方法でした。MySQL 5.5以降では,"InnoDB構成変数の最適化に説明するように,クラッシュリカバリのパフォマンスが大幅に向上しています。それらのリリースでは,重做ログファイルを大きくすることが,バックアップ戦略やデータベースワークロードに役立つ場合に,そうすることができます。
この増分バックアップの種類は,標準
——增量
オプションとして,小さすぎる——start-lsn
値を許容しません。たとえば,フルバックアップを作成できず,その後すべて同じ——start-lsn
値を使用する一連の——incremental-with-redo-log-only
バックアップを作成します。次の増分バックアップの開始LSNとして,前回のバックアップの正確な終了LSNを指定してください。任意の値を使用しないでください。注記このオプションを使用して,連続した増分バックアップ間で,LSN値を正確に一致させるため,甲骨文では,
——incremental-with-redo-log-only
オプションを使用する場合に常に——incremental-base
オプションを使用することをお勧めします。特定のMySQLインスタンスに対し,この増分バックアップの種類が現実的であり,効率的であるか判断するには:
InnoDB Redoログファeconル内のデタの変更の速度を測定します。LSNを定期的にチェックし,一定の時間や日数の間に累積する重做デタの量を確認します。
重做ログの累積率と重做ログファeconeconルのサeconeconeconズを比較します。この率を使用して,増分バックアップを取得する頻度を確認し,重做ログで履歴データを使用できないために,バックアップが失敗する可能性を避けます。たとえば1日あたり1 gバイトの重做ログデータを生成し,重做ログファイルの合計サイズが7 gバイトである場合,増分バックアップを週1回以上の頻度にスケジュールします。突然の更新の急増によって,通常より多くの重做が生成された場合の可能性のある問題を避けるため,毎日または2日おきに増分バックアップを実行した方がよいと考えられます。
——增量
オプションと——incremental-with-redo-log-only
オプションの両方を使用して,増分バックアップの時間をベンチマークテストし,重做ログバックアップ技法が従来の増分バックアップ方法より高速かつ少ないオーバーヘッドで実行するかどうかを確認します。結果は,データのサイズ,DMLアクティビティーの量,重做ログファイルのサイズによって異なることがあります。現実的なデタボリュムと現実的なワ。たとえば,巨大な重做ログファイルがあり,増分バックアップの過程でそれらを読み取ることは,従来の増分技法を使用して,InnoDBデータファイルを読み取る場合と同じくらい時間がかかる可能性があります。逆に,データボリュームが大きい場合,すべてのデータファイルを読み取って,わずかな変更されたページを見つけることは,はるかに小さな重做ログファイルを処理するよりも非効率的である可能性があります。
——增量
オプションと同様に,増分の観点はInnoDBテブルにのみ適用されます。デフォルトで,すべてのInnoDB以外のファereplicationルと.frm
ファ邮箱ルも増分バックアップに含まれます。増分バックアップで InnoDB 以外のデータを除外するには、——only-innodb
オプションを使用します。
——incremental-base
=模式
:论点
コマンド行形式 ——incremental-base =模式:论点
型 文字列 このオプションを使用すると,mysqlbackupは増分バックアップの実行に必要な情報を
——start-lsn
オプションからではなく,バックアップディレクトリ内のメタデタから取得します。これにより,一連の増分バックアップの実行時に,絶え間なく変化し,予測不可能なLSN値を指定する必要を避けられます。代わりに,出力構文のモド
と引数
の組み合わせによって,前回のバックアップディレクトリを見ける方法を指定します。代替方法:dir:
directory_path
プリフィクス
dir:
の後にディレクトリパスを指定します。パス引数は,前回のバックアップからのデタが格納されているルトディレクトリを指します。最初の増分バックアップでは,フルバックアップを保持するディレクトリを指定し,2回目の増分バックアップでは,最初の増分バックアップを保持するディレクトリを指定するというようになります。历史:last_backup
プリフィクス
历史:
の後に,このモドで唯一の有効な引数last_backup
を指定します。これにより,mysqlbackupに、該当する以及ンスタンスのbackup_history
テブルに記録されている最後の成功したバックアップからend_lsn
値をクエリさせます。警告前回のバックアップが
——、
オプションによって取得されたフルバックアップであった場合,历史:
モドは使用しないでください。これは常にバックアップ履歴の記録をオフにし,——incremental-base
オプションのこのモドを使用した後続の増分バックアップでエラが発生する可能性があります。
——start-lsn
=LSN
コマンド行形式 ——start-lsn = LSN
型 数値 増分バックアップでは,前回のバックアップに含まれる最高のLSN値を指定します。この値は,前回のバックアップ操作の出力から,または前回のバックアップ操作の
backup_history
テブルのend_lsn
カラムから取得できます。常に——增量
オプションと一緒に使用し,——incremental-base
オプションを使用する場合に必要ではなく,増分バックアップに——incremental-with-redo-log-only
メカニズムを使用する場合に推奨されません。
——incremental-backup-dir
=路径
コマンド行形式 ——incremental-backup-dir =路径
型 ディレクトリ名 増分バックアップからのデタを格納する場所を指定します。これは,後続の増分バックアップに
——incremental-base
を使用した場合に,そのオプションで指定した場所と同じになります。
例5.4増分バックアップ
これらの例に,増分バックアップで使用される一般的なオプションの組み合わせを示します。
Mysqlbackup——incremental \——increment -backup-dir=/var/mysql/backup/latest \——increment -base=dir:/var/mysql/backup/previous \…备份mysqlbackup——increment -with-redo-log-only \——increment - Backup -dir=/var/mysql/ Backup /latest \——increment -base=dir:/var/mysql/ Backup /previous \…备份mysqlbackup——incremental——start-lsn=12345 \——increment - Backup -dir=/var/mysql/ Backup /inc \…备份mysqlbackup——increment -with-redo-log-only——start-lsn=12345 \——increment - Backup -dir=/var/mysql/ Backup /inc \…备份