Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  ...  /  データベースレベルレプリケーションオプションおよびバイナリロギングオプションの評価

17.2.3.1 データベースレベルレプリケーションオプションおよびバイナリロギングオプションの評価

レプリケーションオプションを評価するときに、スレーブは適用される --replicate-do-db または --replicate-ignore-db オプションがあるかどうかを検査することで始めます。--binlog-do-db または --binlog-ignore-db を使用するときは、プロセスは似ていますが、オプションはマスター上で検査されます。

ステートメントレベルレプリケーションでは、デフォルトデータベースの一致が検査されます。行ベースレプリケーションでは、データを変更すべきデータベースが検査されるデータベースです。バイナリロギング形式にかかわらず、データベースレベルオプションの検査は次の図で示すように進みます。

レプリケーションでのデータベースレベルフィルタリングルールの評価

関係する手順の一覧は次のとおりです。

  1. --replicate-do-db オプションはありますか ?

    • はい  それらのいずれかがデータベースに一致しますか ?

      • はい  ステートメントを実行して終了します。

      • いいえ  ステートメントを無視して終了します。

    • いいえ  手順 2 に進みます。

  2. --replicate-ignore-db オプションはありますか ?

    • はい  それらのいずれかがデータベースに一致しますか ?

      • はい  ステートメントを無視して終了します。

      • いいえ  手順 3 に進みます。

    • いいえ  手順 3 に進みます。

  3. テーブルレベルレプリケーションオプションがある場合、それらの検査に進みます。これらのオプションの検査方法の説明については、セクション17.2.3.2「テーブルレベルレプリケーションオプションの評価」を参照してください。

    重要

    この段階でまだ許可されているステートメントは、実際にはまだ実行されていません。ステートメントはすべてのテーブルレベルオプション (ある場合) が検査されるまで実行されず、そのプロセスの結果がステートメントの実行を許可します。

バイナリロギングの場合、関連する手順の一覧は次のとおりです。

  1. --binlog-do-db または --binlog-ignore-db オプションはありますか ?

    • はい  手順 2 に進みます。

    • いいえ  ステートメントのログを記録して終了します。

  2. デフォルトデータベースはありますか (データベースが USE で選択されていますか) ?

    • はい  手順 3 に進みます。

    • いいえ  ステートメントを無視して終了します。

  3. デフォルトデータベースがあります。--binlog-do-db オプションはありますか ?

    • はい  それらのいずれかがデータベースに一致しますか ?

      • はい  ステートメントのログを記録して終了します。

      • いいえ  ステートメントを無視して終了します。

    • いいえ  手順 4 に進みます。

  4. --binlog-ignore-db オプションのいずれかがデータベースに一致しますか ?

    • はい  ステートメントを無視して終了します。

    • いいえ  ステートメントのログを記録して終了します。

重要

ステートメントベースロギングの場合、CREATE DATABASEALTER DATABASE、および DROP DATABASE ステートメントに適用されるルールにだけ例外が作成されています。これらの場合には、更新のログを記録または無視するかを判断するときに、作成、変更、またはドロップされるデータベースがデフォルトデータベースを置き換えます。

--binlog-do-dbほかのデータベースを無視することを意味する場合があります。たとえば、ステートメントベースロギングを使用するときに、--binlog-do-db=sales だけで動作するサーバーは、デフォルトデータベースが sales ではないバイナリログステートメントに書き込みません。同じオプションで行ベースロギングを使用するときは、サーバーは sales 内のデータを変更する更新のみのログを記録します。