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シームレスディスク水平拡張の詳細な説明
最近、本番環境のデータベースがログデータを狂ったように書き込み、主キー値のオーバーフローを引き起こし...
目次01 コンテナの本質とは何か? 02 Cgroupテクノロジーと名前空間テクノロジーの概要03 ...
目次トリガーとは何かトリガーを作成する複数の実行ステートメントを持つトリガーの作成制限と考慮事項要約...
設定する前に、次の操作を行う必要があります。 1. まずjdk bloggerをインストールします。...
最近人気のWeChatタップ機能を見て、CSS3アニメーションを見直し、このボックスシェイクアニメー...
Vue のトランジションは、アニメーション トランジションをカプセル化するコンポーネントです。一般...
目次1 背景2 コンテナを作成する3 SAパスワードを変更する4 mssql のリンク5. コンテナ...
ナビゲーション、少量のデータテーブル、中央揃え<!DOCTYPE html PUBLIC &q...
目次1. HTTP範囲リクエスト1.1 範囲構文2. 大きなファイルをダウンロードする方法2.1 補...
ディレクトリ構造 。 │ .env │ docker-compose.yml │ └─mysql ├...
この記事の例では、テーブルを動的に生成したり行を削除したりするためのJavaScriptの具体的なコ...
概要: Web ページをより美しく見せるために、ここでは CSS3 でよく使用されるスタイルをいくつ...
目次序文Viteプロジェクトを作成する改修プロジェクトディレクトリの規則その他の構成序文毎日鳩、火ば...
MySQL では通常、limit を使用してページ上のページング機能を完了しますが、データ量が大きな...
1. はじめに最近、私は友人が JSON 配列を追加、削除、変更するための簡単なページを作成するのを...