Documentation Home
MySQL Enterprise Backup ユーザーズガイド (バージョン 3.11)
Download this Manual
PDF (US Ltr) - 1.3Mb
PDF (A4) - 1.3Mb
HTML Download (TGZ) - 164.9Kb
HTML Download (Zip) - 191.2Kb


5.1.9 部分バックアップとリストアオプション

注記

MySQL Enterprise Backup 3.10 以降、2 つのオプション --include-tables--exclude-tables が導入されました。これらは、新しいオプションと互換性がなく、将来のリリースで非推奨になる --include--databases--databases-list-file、および --only-innodb-with-frm の古いオプションを置き換えることを目的としています。参考のため、古いオプションに関する情報をこのセクションの最後の「レガシー部分バックアップオプション」に記載しています。

バックアップまたはリストアする特定のデータを選択するには、このセクションで説明する部分バックアップおよびリストアオプションを使用します。

部分バックアップの概要と部分バックアップの次のオプションに関する使用情報については、セクション3.3.4「部分バックアップの作成」を参照してください。

  • --include-tables=REGEXP

    プロパティ
    コマンド行形式 --include-tables=REGEXP
    文字列

    完全修飾名 (db_name.table_name の形式) が正規表現 REGEXP に一致するテーブル (innodb と innodb 以外の両方) のみをバックアップやリストアに含めます。使用される正規表現構文は、POSIX 1003.2 規格に指定された拡張形式です。たとえば、--include-tables=^mydb\.t[12]$ は データベース mydb 内のテーブル t1t2 に一致します。Unix のようなシステムでは、適宜、正規表現を引用符で囲んで、シェルメタキャラクタが解釈されないようにしてください。特殊文字 (スペース、ダッシュ、ピリオドなど) を含むデータベース名やファイル名を選択するためにこのオプションを使用する場合、いくらかの制限が適用されます。詳細については、付録A「MySQL Enterprise Backup の制限この説明を参照してください。正規表現を一緒に指定せずに、オプションを使用すると、mysqlbackup はエラーをスローします。

    このオプションはさまざまな種類のバックアップで使用できますが、選択的なリストアは、トランスポータブルテーブルスペース (TTS) を使用して作成されたバックアップ (つまり --use-tts オプションで作成されたバックアップ) でのみサポートされます。

    このオプションはレガシー --include--databases--databases-list-file、または --only-innodb-with-frm オプションと一緒に使用することはできません。

    --exclude-tables オプションと一緒に使用すると、--include-tables が最初に適用されます。つまり、mysqlbackup はまず --include-tables で指定されたすべてのテーブルを選択してから、--exclude-tables で指定されたテーブルをセットから除外します。

  • --exclude-tables=REGEXP

    プロパティ
    コマンド行形式 --exclude-tables=REGEXP
    文字列

    完全修飾名 (db_name.table_name の形式) が正規表現 REGEXP に一致するすべてのテーブル (innodb と innodb 以外の両方) をバックアップやリストアから除外します。正規表現構文は、POSIX 1003.2 規格に指定された拡張形式です。たとえば、--exclude-tables=^mydb\.t[12]$ は データベース mydb 内のテーブル t1t2 に一致します。Unix のようなシステムでは、適宜、正規表現を引用符で囲んで、シェルメタキャラクタが解釈されないようにしてください。特殊文字 (スペース、ダッシュ、ピリオドなど) を含むデータベース名やファイル名を選択するためにこのオプションを使用する場合、いくらかの制限が適用されます。詳細については、付録A「MySQL Enterprise Backup の制限この説明を参照してください。正規表現を一緒に指定せずに、オプションを使用すると、mysqlbackup はエラーをスローします。

    このオプションはさまざまな種類のバックアップで使用できますが、選択的なリストアは、トランスポータブルテーブルスペース (TTS) を使用して作成されたバックアップ (つまり --use-tts オプションで作成されたバックアップ) でのみサポートされます。

    このオプションは --include--databases--databases-list-file、または --only-innodb-with-frm オプションと一緒に使用することはできません。

    --include-tables オプションと一緒に使用すると、--include-tables が最初に適用されます。つまり、mysqlbackup はまず --include-tables で指定されたすべてのテーブルを選択してから、--exclude-tables で指定されたテーブルをバックアップのセットから除外します。

  • --only-known-file-types

    バックアップ専用。デフォルトで、データディレクトリ内のすべてのファイルがバックアップに含まれます (詳細はセクション1.4「バックアップされるファイル」を参照してください)。--only-known-file-types オプションを指定した場合、mysqlbackup は、次の拡張子を持つ MySQL またはその組み込みのストレージエンジンのデータファイルであるファイルの種類のみをバックアップします。

    • .ARM: ストレージエンジンメタデータをアーカイブします。

    • .ARZ: ストレージエンジンデータをアーカイブします。

    • .CSM: CSV ストレージエンジンデータ。

    • .CSV: CSV ストレージエンジンデータ。

    • .frm: テーブル定義。

    • .MRG: ストレージエンジン参照をほかのテーブルにマージします。

    • .MYD: MyISAM データ。

    • .MYI: MyISAM インデックス。

    • .OPT: データベース構成情報。

    • .PAR: パーティション定義。

    • .TRG: トリガーパラメータ。

    • .TRN: トリガー名前空間情報。

  • --only-innodb

    バックアップ専用。InnoDB データとログファイルのみをバックアップします。ほかのストレージエンジンによって作成されたすべてのファイルが除外されます。一般に mysqld への接続が許可されない場合または MyISAM をコピーする必要がない場合に使用されます。

    このオプションは --slave-info オプションと互換性がありません。

    デフォルト: バックアップにはすべてのストレージエンジンからのファイルが含まれます。

  • --use-tts[={with-minimum-locking|with-full-locking}]

    プロパティ
    コマンド行形式 --use-tts[={with-minimum-locking|with-full-locking}]
    列挙
    デフォルト with-minimum-locking
    有効な値

    with-minimum-locking

    with-full-locking

    トランスポータブルテーブルスペース (TTS) を使用した InnoDB テーブルの選択的バックアップを有効にします。これは --include-tables オプションおよび --exclude-tables オプションと一緒に使用し、正規表現によってバックアップする InnoDB テーブルを選択します。バックアップで TTS を使用すると、次の利点があります。

    • 別のサーバーにバックアップをリストアできます

    • システムテーブルスペースがバックアップされないため、ディスク領域と I/O リソースを節約します

    • テーブルのデータ整合性が MySQL Enterprise Backup によって管理されます

    ただし、このオプションには次の制限があります。

    • MySQL バージョン 5.6 以降のみをサポートします (MySQL の初期バージョンでは TTS をサポートしていないため)

    • 独自の個別のテーブルスペースに格納されているテーブル (つまり、innodb_file_per_table オプションを有効にして作成されたテーブル) のみをバックアップできます

    • パーティション化されたテーブルをバックアップできません

    • 増分バックアップに使用できません

    オプションに指定可能な値は 2 つあります。

    • with-minimum-locking: 選択したテーブルのホットコピーがバックアップされ、Redo ログ (ホットバックアップ後に行われた関連の変更を含む部分のみによる) がバックアップに含まれる間、テーブルは読み取り専用モードでロックされます。ロックフェーズ中に作成されたすべてのテーブルは無視されます。

    • with-full-locking: 選択したテーブルはバックアップ中に読み取り専用モードでロックされます。Redo ログはバックアップに含まれません。ロックフェーズ中に作成されたすべてのテーブルは無視されます。

    デフォルト: 最小のロックでバックアップ

    --use-tts オプションを使用するには、mysqlbackup がサーバーに接続するためにユーザーの特別な権限が必要です。詳細については、セクション3.1.2「MySQL の権限をバックアップ管理者に与える」を参照してください。

    --use-tts オプションを使用して作成されたバックアップをリストアするには、いくつかの特別な要件があります。詳細については「Restoring Backups Created with the --use-tts Option」を参照してください。

レガシー部分バックアップオプション

重要

このサブセクションの情報は、--include--databases--databases-list-file、および --only-innodb-with-frm のレガシーオプションを使用するためだけのもので、これらのオプションは次回の発行時に非推奨になります。部分バックアップの作成には、代わりに --include-tables--exclude-tables の新しいオプションを使用することを強くお勧めします。部分バックアップのレガシーオプションと新しいオプションを単一のコマンドで組み合わせることはできません。

レガシーオプションに加えて、以下ではほかのオプションについても説明していますが、情報はレガシー部分バックアップオプションと一緒にオプションを使用する場合に限られます。

部分バックアップの概要とこれらのレガシーオプションに関する使用情報については、Making a Partial Backup with the Legacy Optionsを参照してください。

  • --include=REGEXP

    このオプションはバックアップする InnoDB テーブルのフィルタ用です。InnoDB テーブルの完全修飾名が、オプションで指定された正規表現に対してチェックされます。REGEXP が db_name.table_name に一致する場合、そのテーブルは含まれます。使用される正規表現構文は、POSIX 1003.2 規格に指定された拡張形式です。たとえば、--include=mydb\.t[12] は データベース mydb 内のテーブル t1t2 に一致します。正規表現を一緒に指定せずにこのオプションが使用された場合、mysqlbackup はエラーをスローします。

    このオプションは、MySQL オプション innodb_file_per_table が有効にされて (これは MySQL 5.6 以降のデフォルトの設定です) 作成された InnoDB テーブルにのみ適用されます。その場合テーブルはバックアップに含めたり、除外したりできる個別のファイルになります。InnoDB システムのテーブルスペース内のすべてのテーブルは常にバックアップされます。

    指定した正規表現に一致する InnoDB テーブル名がない場合、一致がないことを示すメッセージとともにエラーがスローされます。

    デフォルト: すべての InnoDB テーブルをバックアップします。

    注記

    このオプションは InnoDB 以外のテーブルをフィルタしないため、--databases--databases-list-file などのオプションを使用できます。

    重要

    このオプションは InnoDB テーブルに関連付けられた .frm ファイルをフィルタしません。つまり、オプションの値に関係なく、ほかのオプションによって除外されていない限り、すべての InnoDB テーブルのすべての .frm ファイルが常にバックアップされます。InnoDB テーブルのバックアップしない .frm ファイルは、データベースバックアップをリストアする前に削除しておいてください。詳細については、Making a Partial Backup with the Legacy Optionsを参照してください。

  • --databases=LIST

    バックアップする InnoDB 以外のテーブルを指定します。この引数では、次の形式のデータベースまたはテーブル名のスペース区切りのリストを指定します。

    "db_name[.table_name] db_name1[.table_name1] ...".

    指定した値に一致するデータベースやテーブルがない場合、InnoDB 以外のデータファイルはバックアップされません。詳細については、「レガシーオプションによる部分バックアップの作成」を参照してください。

    デフォルトですべてのデータベースのすべての InnoDB 以外のテーブルがバックアップされます。

    注記

    このオプションは、これで指定するデータベースやテーブルの InnoDB データファイル (.ibd ファイル) に対するフィルタ効果はありません。InnoDB データファイルをフィルタするには、代わりに --include オプションを使用します。

  • --databases-list-file=PATH

    バックアップする InnoDB 以外のテーブルを一覧表示するファイルのパス名を指定します。このファイルには、改行やスペースで区切られたデータベースまたは完全修飾テーブル名のエントリが含まれます。エントリの形式は --databases オプションの場合と同じです。

       db_name[.table_name]
       db_name1[.table_name1]
       ...

    空白は自動的に削除されないため、データベースまたはテーブル名の前後の空白を削除します。コメントを含めるには、行を # 文字で始めます。正規表現は使用できません。

    指定したエントリに一致するデータベースやテーブルがない場合、InnoDB 以外のデータファイルはバックアップされません。

    注記

    このオプションは、これで指定するデータベースやテーブルの InnoDB データファイル (.ibd ファイル) に対するフィルタ効果はありません。InnoDB データファイルをフィルタするには、代わりに --include オプションを使用します。

  • --only-innodb-with-frm[={all|related}]

    InnoDB テーブルに関連付けられた InnoDB データ、ログファイル、および .frm ファイルのみをバックアップします。

    • --only-innodb-with-frm=all はすべての InnoDB テーブルの .frm ファイルをバックアップに含めます。

    • --only-innodb-with-frm=related--include オプションと組み合わせて、部分バックアップに含まれるテーブルの .frm ファイルのみをコピーします。

    • 引数を付けない --only-innodb-with-frm--only-innodb-with-frm=related と同じです。

    注記

    増分バックアップの場合、変更された .ibd ファイルのみがバックアップされても、指定されたすべての InnoDB テーブルに関連付けられた .frm が含まれます。

    このオプションにより、通常 FLUSH TABLES WITH READ LOCK ステートメントによってサーバーが読み取り専用状態になっている間に実行する、InnoDB .frm ファイルのバックアップステップをスクリプト化する必要がなくなります。バックアップ操作が真のホットバックアップになり、データベースの処理を妨げないように、.frm ファイルはサーバーを読み取り専用状態にしなくてもコピーされます。バックアップの進行中に、ALTER TABLE やその他の DDL ステートメントによって、InnoDB テーブルの .frm ファイルが変更されないことを確認する必要があります。mysqlbackup コマンドが、バックアップ操作中に関連の .frm ファイルの変更を検出した場合、エラーで停止します。バックアップ操作時の InnoDB テーブルへの DDL を禁止することが現実的でない場合は、代わりに --only-innodb オプションを使用し、サーバーのロック中に .frm ファイルをコピーする従来の方法を使用します。

    ほかのストレージエンジンによって作成されたすべてのファイルが除外されます。一般に mysqld への接続が許可されない場合または MyISAM をコピーする必要がない場合、たとえばバックアップ中に DDL の変更がないことが確信できる場合に使用されます。手順と例については、Making a Partial Backup with the Legacy Optionsを参照してください。

    このオプションは --slave-info オプションと互換性がありません。

    デフォルト: バックアップにはすべてのストレージエンジンからのファイルが含まれます。

  • --use-tts[={with-minimum-locking|with-full-locking}]

    トランスポータブルテーブルスペース (TTS) を使用した InnoDB テーブルの選択的バックアップを有効にします。これは、正規表現によってバックアップする InnoDB テーブルを選択する --include オプションとともに使用します。バックアップで TTS を使用すると、次の利点があります。

    • 別のサーバーにバックアップをリストアできます

    • システムテーブルスペースがバックアップされないため、ディスク領域と I/O リソースを節約します

    • テーブルのデータ整合性が MySQL Enterprise Backup によって管理されます

    ただし、このオプションには次の制限があります。

    • MySQL バージョン 5.6 以降のみをサポートします (MySQL の初期バージョンでは TTS をサポートしていないため)

    • 独自の個別のテーブルスペースに格納されているテーブル (つまり、innodb_file_per_table オプションを有効にして作成されたテーブル) のみをバックアップできます

    • パーティション化されたテーブルをバックアップできません

    • バックアップから選択してテーブルをリストアすることはできません

    • 増分バックアップに使用できません

    オプションに指定可能な値は 2 つあります。

    • with-minimum-locking: 選択したテーブルのホットコピーがバックアップされ、Redo ログ (ホットバックアップ後に行われた関連の変更を含む部分のみによる) がバックアップに含まれる間、テーブルは読み取り専用モードでロックされます。ロックフェーズ中に作成されたすべてのテーブルは無視されます。

    • with-full-locking: 選択したテーブルはバックアップ中に読み取り専用モードでロックされます。Redo ログはバックアップに含まれません。ロックフェーズ中に作成されたすべてのテーブルは無視されます。

    デフォルト: 最小のロックでバックアップ

    --use-tts オプションを使用して作成されたバックアップをリストアするには、いくつかの特別な要件があります。詳細については、セクション4.2「リストア操作の実行」説明を参照してください。