無料PHPプログラム

MySQL 5.1 リファレンスマニュアル :: 5 レプリケーション :: 5.5 レプリケーションの実装
« 5.4.6 レプリケーション バグまたは問題を報告する方法

5.5.1 レプリケーション実装の詳細 »
Section Navigation      [Toggle]
  • 5 レプリケーション
  • 5.1 レプリケーション設定
  • 5.2 Replication Topologies
  • 5.3 レプリケーション ソリューション
  • 5.4 レプリケーション ノートとヒント
  • 5.5 レプリケーションの実装
    • 5.5.1 レプリケーション実装の詳細
    • 5.5.2 マスタレプリケーションのスレッド状態
    • 5.5.3 スレーブ レプリケーションの I/O スレッド状態
    • 5.5.4 スレーブ レプリケーションの SQL スレッド状態
    • 5.5.5 レプリケーション リレーとステータス ファイル
    • 5.5.6 サーバのレプリケーション ルール評価

5.5. レプリケーションの実装

[+/-]

5.5.1. レプリケーション実装の詳細
5.5.2. マスタレプリケーションのスレッド状態
5.5.3. スレーブ レプリケーションの I/O スレッド状態
5.5.4. スレーブ レプリケーションの SQL スレッド状態
5.5.5. レプリケーション リレーとステータス ファイル
5.5.6. サーバのレプリケーション ルール評価

レプリケーションのメカニズムは、 マスタサーバが使用中のデータベースへの変更 (更新、削除など) を追跡し続け、マスタサーバのバイナリ ログからクエリを読み込むということに基づきます。バイナリ ログは、データベース化が開始された時点からの記録として、その役割を果たします。バイナリ ログは、データベース ストラクチャまたはストラクチャの保持データを編集または修正するクエリすべての記録を含みます。SELECT ステートメントは、記録されません。同様にデータベースのデータまたはストラクチャも修正されません。

マスタに接続しているそれぞれのスレーブは、バイナリ ログのコピーを受信し、そのバイナリ ログ内のイベントを実行します。これには、元の クエリ (ステートメント) をリピートし、マスタで作成されたように変更する、ということです。マスタ元で実行したクエリに従って、テーブル作成またはストラクチャ修正、データの挿入、削除、更新が行われます。

それぞれのスレーブが独立しているため、マスタのバイナリ ログにあるクエリのリプレイを、マスタに接続しているそれぞれのスレーブで行います。さらに、それぞれのスレーブは、バイナリ ログをマスタに要求することによってコピーを受け取る、つまり、マスタがスレーブにデータを与える、というよりは、マスタからデータを取り込むため、スレーブはデータベースのコピーの読み取りおよび書き込みをスレーブのペースおよびレートで行います。そのため、データベースの最新情報を更新する際には、マスタまたはスレーブの処理能力を損なうことなく、複製プロセスの開始および停止ができます。

レプリケーションの実装に関する詳細は、項5.5.1. 「レプリケーション実装の詳細」を参照してください。

スレーブとマスタは、レプリケーション プロセスに関するステータスを定期的にレポートするため、処理状況の監視が可能です。スレーブの状態に関する詳細は、項5.5.3. 「スレーブ レプリケーションの I/O スレッド状態」 もしくは 項5.5.4. 「スレーブ レプリケーションの SQL スレッド状態」 を参照してください。マスタの状態に関する詳細は、項5.5.2. 「マスタレプリケーションのスレッド状態」 を参照してください。

マスタのバイナリ ログは、プロセスされる前に、スレーブのローカル リレー ログが記憶します。スレーブもまた、マスタのバイナリ ログおよびローカル リレーのログとの位置関係を記録します。詳細は、項5.5.5. 「レプリケーション リレーとステータス ファイル」 を参照してください。

クエリ評価をコントロールする変数およびコンフィギュレーションのオプションに従って適用されたルールの組み合わせを基に、データベースとテーブルの更新はスレーブで行います。これらのルールがどのように適用されるかに関しては、項5.5.6. 「サーバのレプリケーション ルール評価」 を参照してください。

Copyright c 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates

無料CGI PHPスクリプト | 新着情報スクリプト | 営業日カレンダー | PHPマニュアル | MySQLマニュアル | PEARマニュアル

Copyright (c) 2010 jmcodex.com All rights reserved.