MyCATとは
MyCATの主な機能
1. ここでは、MySQL マスター スレーブ レプリケーションの実装に基づいて、読み取りと書き込みの分離に mycat を使用します。アーキテクチャ図は次のとおりです。 2. デモ 2.1 MySQLマスターにデータベースを作成する db1を作成する 2.2 データベースdb1にstudentテーブルを作成する 同時に、MySQLマスタースレーブレプリケーションが設定されているため、MySQLスレーブにも同じデータベースとテーブルが存在します。 2.3 mycat設定ファイルserver.xmlを編集する <!-- mycat のログインユーザー名を示します --> <ユーザー名="テスト"> <!-- mycat のログイン パスワードを示します --> <property name="password">テスト</property> <!-- カスタマイズ可能な mycat の論理データベース名を示します --> <property name="schemas">TESTDB</property> </ユーザー> <ユーザー名="ユーザー"> <property name="password">ユーザー</property> <property name="schemas">TESTDB</property> <プロパティ名="readOnly">true</プロパティ> </ユーザー> 2.4 mycat設定ファイルschema.xmlを編集する <!--TESTDB は、mycat の論理データベース名を表します。スキーマ ノードに子ノード テーブルがない場合は、dataNode 属性が存在する必要があります (実際の mysql データベースを指します)。 --> <スキーマ名="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"> </スキーマ> <!--マスターデータベース db1 を指定します--> <データノード名="dn1" データホスト="192.168.0.4" データベース="db1" /> <!-- マスター IP を指定します --> <dataHost name="192.168.0.4" maxCon="1000" minCon="10" balance="3" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <!--MySQL のハートビート ステータスを示します--> <heartbeat>ユーザーを選択()</heartbeat> <!-- マスターが書き込みを担当します --> <writeHost ホスト="hostM1" url="192.168.0.4:3306" ユーザー="root" パスワード="admin"> <!--スレーブは読み取りを担当します--> <readHost ホスト="hostS2" url="192.168.0.5:3306" ユーザー="root" パスワード="admin" /> </writeHost> </データホスト> この時点で、mycatを使用して読み書きを分離する設定が完了しました。 dataHostノードの次の3つのプロパティに注意してください バランス、スイッチタイプ、書き込みタイプ balance="0" の場合、読み取り/書き込み分離メカニズムは有効にならず、すべての読み取り操作は現在利用可能な writeHost に送信されます。 balance="1" の場合、すべての readHost とスタンバイ writeHost が SELECT ステートメントの負荷分散に参加します。簡単に言うと、デュアル マスターおよびデュアル スレーブ モード (M1->S1、M2->S2、および M1 と M2 が相互にマスターとスレーブ) の場合、通常の状況では、M2、S1、および S2 はすべて SELECT ステートメントの負荷分散に参加します。 balance="2" の場合、すべての読み取り操作は writeHost と readhost にランダムに分散されます。 balance="3" の場合、すべての読み取り要求は writeHost の下の readhost にランダムに分散されて実行され、writeHost は読み取りの負荷を負いません。 writeTypeは書き込みモードを示します writeType="0"、すべての操作は最初に構成された writehost に送信されます writeType="1"、設定されたすべての書き込みホストにランダムに送信します writeType="2"、書き込み操作は実行されません switchType はスイッチング モードを指し、現在可能な値は 4 つあります。 switchType='-1'は自動切り替えなしを意味します switchType='1' デフォルト値、自動切り替えを示す switchType='2'は、MySQLのマスタースレーブ同期のステータスに基づいて切り替えるかどうかを決定します。ハートビートステートメントは、スレーブステータスを表示します。 switchType='3' は、MySQL galary cluster (クラスターに適しています) (1.4.1) の切り替えメカニズムに基づいており、ハートビート ステートメントは 'wsrep%' のようなステータスを表示します。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: LinuxベースのLVMシームレスディスク水平拡張の詳細な説明
この記事では、MySQL の左結合における on 条件と where 条件の使用法の違いを例を使って...
上はシステム時間、下はハードウェア時間です。ここでは変更を加えているので、同じくらいの速さになってい...
序文最近、MySQL 6.0.x 以降の jar を使用する場合、コード URL リンクで serv...
このスクリプトは、nginxの起動、停止、再起動の操作を満たすことができます。 #!/bin/bas...
導入MySQL スロー クエリ ログは、問題のある SQL ステートメントのトラブルシューティングや...
今日、私はブログサイト shoptalkshow を閲覧していて、非常に興味深いこのインターフェース...
序文MySQL テーブルの主キーと外部キーを作成するときは、次の点に注意する必要があります。主キーと...
テーブル作成コマンドには以下が必要です。 テーブルの名前フィールド名各フィールドを定義します(タイ...
概要: 仕事でも面接でも、Web フロントエンドのパフォーマンスを最適化することは非常に重要です。で...
いいえnvmはnodejsの複数のバージョンを管理する役割を担っています。インストール: https...
html、address、blockquote、body、dd、div、dl、dt、fieldset...
黄金律プロジェクトに何人の人が取り組んでいるかに関係なく、すべてのコード行が同じ人によって書かれたよ...
目次1. MySQL論理アーキテクチャの概要2. コネクタクエリキャッシュ4. パーサー5. オプテ...
はじめに: 最近 Hadoop プラットフォームの構築を勉強し始めたので、ローカルマシンに VMwa...
mysqlのリモートアクセス権を有効にするデフォルトでは、MySQL ユーザーにはリモート アクセス...