About Reference:アバウトリファレンス

当サイトはPHPなどのサーバーサイドスクリプトや、
MySQLなどのデータベースプログラミングのマニュアルサイトです。
WEBアプリケーションの開発やこれからWEBプログラミングを覚えたい!
というような方々のお手伝いが出来れば幸いです。

日本語 MySQL マニュアル

4.11.1. はじめに

バージョン 3.23.15 から、MySQL は一方向レプリケーションを内部的にサポートしています。1 つのサーバがマスタとして機能し、別の 1 つまたは複数のサーバがスレーブとなります。マスタサーバが更新のバイナリログを保持します(see 項4.10.4. 「バイナリログ」)。 また、バイナリログのインデックスファイルも保持し、ログのローテーションを記録します。各スレーブは接続時、前回レプリケーションに成功にしている更新の位置をマスタに通知し、それ以降の更新を実行し、その後ブロックして、マスタからの新規更新の通知を待ちます。

レプリケーションサーバをチェーン状に構成すれば、スレーブは他のサーバに対するマスタとしても機能できます。

注意: レプリケーションを使用する場合、テーブルの更新はすべてマスタサーバで実行する必要があります。そうでない場合、ユーザがマスタのテーブルで行った更新とスレーブのテーブルで行った更新との間で競合が発生します。

一方向レプリケーションは、堅牢性、速度、およびシステム管理の面で優れています。

  • マスタ/スレーブセットアップにより堅牢性が向上する。 マスタで問題があった場合、バックアップとしてスレーブに切り替えることができる。

  • クライアントクエリの負荷をマスタとスレーブに分散することによって速度を向上でき、その結果クライアントの応答時間が短くなる。 SELECT クエリをスレーブに送信することにより、マスタのクエリ処理負荷を軽減できる。データを変更するクエリは、マスタとスレーブの整合性を保つため、マスタに送信する必要がある。負荷分散戦略は、更新以外のクエリが多い場合のみ効果がある。通常、この場合が多い。

  • その他にも、レプリケーションを使用すると、マスタではなくスレーブでバックアップを行えるという利点がある。 See 項4.5.1. 「データベースのバックアップ」


Converted by OpenCage. Base data is http://dev.mysql.com/doc/mysql/ja/.