ホームページ >データベース >mysql チュートリアル >mysql用ミドルウェアmycatのインストールと使い方の詳しい説明

mysql用ミドルウェアmycatのインストールと使い方の詳しい説明

黄舟
黄舟オリジナル
2017-05-28 09:49:423317ブラウズ

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 で構成された実ユーザーが実データベースに接続できることを確認します。ファイアウォールに注意してください。

4、mycatの起動

1、共通パラメータ

./mycat start start

./mycat s

top 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>


6. 概要
mycat は mysql サブテーブル、シャーディングをサポートします。 、などですが、その使用は推奨されません。 Mycat は多くのクラスターをサポートしていませんが、mha で使用できれば素晴らしいでしょう。

以上がmysql用ミドルウェアmycatのインストールと使い方の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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