MyCAT は MySQLミドルウェア であり、以前は Alibaba の有名な Cobar として知られていましたが、Cobar は一定期間オープンソース化された後、停止されました。そこで MyCAT はこの旗を掲げました。ビッグデータの時代において、その重要性がますます明らかになりました。この記事は主に MyCAT の導入導入について説明します。
まず、mycat とは何ですか
エンタープライズアプリケーション開発のための完全にオープンソースの大規模データベースクラスター
トランザクション、ACID、および MySQL を置き換えることができるデータベースの拡張バージョンをサポートします
MySQL クラスターと見なされ、高価な Oracle クラスターの置き換えに使用されます
メモリ キャッシュ テクノロジー、NoSQL テクノロジー、および HDFS ビッグ データを統合する新しい SQL Server
従来のデータベースと新しい分散データ ウェアハウス
斬新なデータベース ミドルウェア製品
上記は公式の説明です。実際には、これはデータベースの接続プールです。 MySQL プロキシも接続プールですが、効率は非常に低くなります。 second、mycat
1をインストールし、アドレスmycat2をダウンロードし、mycat
rreee
threeをインストールし、mycat
1を構成し、サーバーを構成します。仮想データ名は TESTDB です。testdb が schema.xml で構成されていない場合は、testdb を schema.xml の仮想データ名に変更する必要があります。ここで定義したユーザー名、パスワード、仮想データベース名は、実際には mysql に存在しません。 2. schema.xml を設定する
# tar zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /usr/local/
mycat には非常に多くの設定パラメータがあります。 Balance="1" と writeType="0" に注目してみましょう。balance attribute 負荷分散タイプには、現在 4 つの値があります:
1、これは読み取り/書き込みを有効にしません。分離メカニズムにより、すべての読み取り操作は現在利用可能な writeHost に送信されます。
2. Balance="1"、すべての readHost と Stand by writeHost は、デュアル マスター デュアル スレーブ モード (M1 -> S1、M2 -> S2) の場合に、select ステートメントの負荷分散に参加します。 M1 と M2 は相互にアクティブとスタンバイです)。通常の状況では、M2、S1、および S2 はすべて select ステートメントのロード バランシングに参加します。
3. Balance="2"、すべての読み取り操作は writeHost と readhost にランダムに分散されます。
4. バランス = 3、すべての読み取りリクエストは、実行のために WriterHost に対応する読み取りホストにランダムに分散されます。balance = 3 は 1.4 以降のバージョンでのみ使用可能であることに注意してください。 b. writeType 属性
負荷分散タイプ、現在 3 つの値があります:
1。writeType="0"、すべての書き込み操作は最初に設定された writeHost に送信され、ハングすると最初の操作に切り替わります。 2 番目に残っている
writeHost は、再起動後に切り替えられたものになります: dnindex.properties .
2。すべての書き込み操作がランダムに送信されます。 writeHostを設定しました。
3. writeType="2"、実装されていません。
特定のパラメータ: http://mycat.io/
document/Mycat_V1.6.0.pdf
3、マスターサーバーとスレーブサーバーを構成します。ここでは説明しません。ブログには 4 があります。 、実際のユーザーを追加します
# vim /usr/local/mycat/conf/server.xml //添加以下内容 <user name="user"> //mycat用户名 <property name="password">user</property> //mycat密码 <property name="schemas">mytest</property> //mycat虚拟数据库名 <property name="readOnly">true</property> //只读 </user> <user name="tankzhang"> <property name="password">admin</property> <property name="schemas">mytest</property> </user>
マシン 213 と 214 にユーザー
を追加します。 5. 実ユーザー接続をテストして、schema.xml で構成された実ユーザーが実データベースに接続できることを確認します。ファイアウォールに注意してください。 1、共通パラメータ./mycat start start
./mycat stop stop ./mycatコンソールをフォアグラウンドで実行
./mycat restart サービスを再起動./mycat一時停止
./mycat status 起動ステータスを確認します2. mycat を起動して確認します
# cat schema.xml <?xml version="1.0"?> <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> <mycat:schema xmlns:mycat="http://io.mycat/"> <schema name="mytest" checkSQLschema="false" sqlMaxLimit="100" dataNode="my1" />//定义虚拟数据库名mytest <dataNode name="my1" dataHost="test1" database="test" /> //真实数据库名test <dataHost name="test1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" > <heartbeat>select user()</heartbeat> <writeHost host="hostM1" url="192.168.5.213:3306" user="tank" password="123456" > //真实数据库的连接方式 <readHost host="hostS1" url="192.168.5.214:3306" user="tank" password="123456" /> //同上 </writeHost> </dataHost> </mycat:schema>
以上がmysql用ミドルウェアmycatのインストールと使い方の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。