ホームページ  >  記事  >  データベース  >  MySQL のマスター/スレーブ レプリケーション原理の詳細な説明

MySQL のマスター/スレーブ レプリケーション原理の詳細な説明

Guanhui
Guanhuiオリジナル
2020-06-17 15:47:245373ブラウズ

MySQL のマスター/スレーブ レプリケーション原理の詳細な説明

MySQL マスター/スレーブ レプリケーションの原理の詳細な説明

まず、データベースには「bin-log」バイナリ ファイルがあります。すべての SQL ステートメントを記録し、マスター データベースの「bin-log」ファイルから SQL ステートメントをコピーし、最後にスレーブ データベースの「relay-log」REDO ログ ファイルでコピーした SQL ステートメントを実行します。

#マスター/スレーブ レプリケーション

マスター/スレーブ レプリケーションは、マスターとまったく同じデータベース環境を確立するために使用されます。スレーブ データベースとマスター データベースは、通常、準リアルタイム ビジネス データベースと呼ばれます。最も一般的に使用される MySQL データベースでは、単一項目と非同期割り当てがサポートされています。割り当てプロセスでは、一方のサーバーがマスター サーバーとして機能し、もう一方のサーバーがスレーブ サーバーとして機能し、このときマスター サーバーは更新情報を特定のバイナリ ファイルに書き込みます。

そして、ログのローテーションを追跡するためにファイルのインデックスを維持します。このログを記録し、更新のためにスレーブ サーバーに送信できます。スレーブ サーバーがマスター サーバーに接続すると、スレーブ サーバーは、スレーブ サーバーのログ ファイルから読み取られた最後に成功した更新の場所をマスター サーバーに通知します。スレーブ サーバーは、それ以降に発生した更新を受信し、マスター サーバーが新しい更新を通知するまでロックして待機します。

マスター/スレーブ レプリケーションの役割

1. データのホット バックアップを実行します。バックアップ データベースとして、メイン データベース サーバーに障害が発生した場合に切り替えることができます。データの損失を避けるために、スレーブ データベースは動作を継続します。

2. アーキテクチャの拡張。業務量がますます増大し、I/Oアクセス頻度が高くなり、1台のマシンでは対応できなくなるため、ディスクI/Oアクセス頻度を低減するためにマルチデータベースストレージを利用しています。単一マシンの I/O パフォーマンスを向上させます。

3. 読み取りと書き込みを分離することで、データベースはより優れた同時実行性をサポートできるようになります。特にレポートでは重要です。一部のレポート SQL ステートメントは非常に遅いため、テーブル ロックが発生し、フロントエンド サービスに影響を与えます。フロントデスクがマスターを使用し、レポートがスレーブを使用する場合、レポート SQL はフロントデスクのロックを引き起こさず、フロントデスクの速度を確保します。

推奨チュートリアル:「

PHP

以上がMySQL のマスター/スレーブ レプリケーション原理の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。