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 レプリケーションの実装

レプリケーションは、データベースへのあらゆる変更 (更新、削除など) をバイナリログで追跡するマスターサーバーに基づきます。バイナリログは、サーバーが起動した瞬間からデータベースの構造または内容 (データ) を変更するあらゆるイベントが書き込まれた記録として機能します。SELECT ステートメントは通常、データベースの構造および内容を変更しないため記録されません。

マスターに接続する各スレーブはバイナリログのコピーを要求します。つまり、マスターがスレーブにデータをプッシュのではなく、スレーブがマスターからデータをプルします。スレーブはまた、それが受け取るバイナリログからイベントを実行します。これによって、元の変更がマスターで実行されたように繰り返されることになります。マスターで最初に実行された変更に応じて、テーブルが作成されたり、それらの構造が変更されたり、データが挿入、削除、更新されたりします。

各スレーブは独立しているので、マスターのバイナリログからの変更の再生が、マスターに接続された各スレーブで単独に発生します。さらに、各スレーブはバイナリログのコピーをマスターから要求することでのみ受け取るため、スレーブはそれ自身のペースでデータベースのコピーを読み取ったり更新したりでき、マスター側またはスレーブ側で最新のデータベースステータスを更新できる能力に影響を与えずにレプリケーションプロセスを自由に開始したり停止したりできます。

レプリケーション実装の仕様に関する詳細は、セクション17.2.1「レプリケーション実装の詳細」を参照してください。

マスターとスレーブは、レプリケーションプロセスに関するステータスをモニターできるように、定期的にそれらを報告します。すべてのレプリケーション関連ステータスの説明については、セクション8.12.5「スレッド情報の検査」を参照してください。

マスターバイナリログは、スレーブ上のローカルリレーログに書き込まれてから処理されます。スレーブは、マスターのバイナリログとローカルリレーログと一緒に、現在の位置に関する情報も記録します。セクション17.2.2「レプリケーションリレーおよびステータスログ」を参照してください。

データベース変更は、さまざまな構成オプションおよびイベント評価を制御する変数に従って適用されるルールセットに応じて、スレーブ上でフィルタされます。これらのルールがどのように適用されるかについての詳細は、セクション17.2.3「サーバーがレプリケーションフィルタリングルールをどのように評価するか」を参照してください。