10bet网址
MySQL企业备份ユザズガド(バジョン3.11)
下载本手册
PDF(美国Ltr)- 1.3 mb
PDF (A4)- 1.3 mb


5.1.8増分バックアップオプション

増分バックアップの概要とこれらのオプションに関する使用情報にいては,セクション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-lsnLSN

    コマンド行形式 ——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 \…备份