Linux-mycatのインストール、構成、使用

1. mycatをダウンロードして解凍します

2. mycatディレクトリ構造を確認します
[root @ aliyun-ecs mycat]#ll
合計24
drwxr-xr-x 2ルートルート4096 Apr 18 10:28 bin
drwxrwxrwx 2ルートルート4096 Oct 22 21:26 catlet
drwxrwxrwx 4ルートルート4096 2月午前22時21分confに。9
drwxrは、XR-2は、X-18は、4月4096上のルートは、10:28のlibがルートである
ルートはルート2 23:04 1月16日4096のログをdrwxrwxrwx
ルートを-rwxrwxrwx。1. 9を2月午後09時22にルート227のversion.txt
完成構造mycat上よりちなみに、mycatはJava言語で開発されています。
したがって、mycatをインストールするには、jdk環境が必要です。

3、設定myCat
  3.1変更のwrapper.conf
  #のvimのconf / wrapper.confの[aliyun-ECS myCat @ルート]
 非公式の環境は、256Mのために以下の2つのパラメータを変更し、それ以外の場合は、メモリ不足になる
 改正前:
 wrapper.java.additional.10を= -Xmx4G
 wrapper.java.additional.11 = -Xms1Gが
 改訂されました:
 wrapper.java.additional.10 = -Xmx256M
 wrapper.java.additional.11 = -Xms256M

 3.2 server.xmlの構成
 [root @ aliyun-ecs mycat]#vim conf / server.xml
 mycatユーザー:scwyfy
 を追加し、対応するロジックライブラリを設定します:admin_db、order_db、product_db
 <user name = "scwyfy">
  <property name = "password"> 123456 </ property>
  <property name = "schemas"> admin_db、order_db、product_db </ property>
  <property name = "readOnly"> true </ property>
 </ user>


 3.3 schema.xmlの
       構成schema-> table-> dataNode-> dataHost-> writeHost-> readHost

 [root @ aliyun-ecs mycat]#vim conf / schema.xml

 <!-name:新しく追加されたmycatユーザーの対応するロジックライブラリを構成します->
 <schema name = " admin_db " checkSQLschema = "false" sqlMaxLimit = "100">
  <!-auto sharding by id(long):従来の範囲0-1k = 0 1k-10k = 1 10k-100k = 2-> 
       <!-Name:データテーブル名
       - > <!-DataNode:データテーブルが保存されている実際のノード(実サーバー+データベース) ->
      <テーブル名= "travelrecord" dataNode = "dn1、dn2、dn3"ルール= "auto-sharding-long" />

  <!-グローバルテーブルはすべての定義済みデータノードに自動複製されるため、シャーディングノードが同じデータノードにある任意のテーブルと結合できます->
  <table name = "company" primaryKey = "ID"  type = "global"  dataNode = "dn1、dn2、dn3" />

  <!-mod sharindルールを使用したランダムシャーディング->
  <table name = "hotnews" primaryKey = "ID" autoIncrement = "true" dataNode = "dn1、dn2、dn3" rule = "mod-long" />
       
        <!
       - 分割表関係で構成されたテーブルデータは、同じシャードに保存されます- > <テーブル名= "customer" primaryKey = "ID" dataNode = "dn1、dn2"ルール= "sharding-by-intfile">
     <! -ordersテーブルのcustomer_idをcustomerテーブルのIDに関連付けます。これにより、ordersテーブルが挿入されると、customer_idがオンになっているシャードが最初に判別され、次に
      シャードにデータが挿入されます。目的->
    <childTable name = "orders" primaryKey = "ID" joinKey = "customer_id"   parentKey = "id">
      <childTable name = "order_items" joinKey = "order_id"   parentKey = "id "/>
    </ childTable>

    <childTable name = "customer_addr" primaryKey = "ID" joinKey = "customer_id" parentKey = "id" />
  </ table>
 </ schema>

 <!-設定データ节点信息->
 <dataNode name = "dn1" dataHost = "localhost1" database = "db1" />
<dataNode name = "dn2" dataHost = "localhost1" database = "db2" />
< dataNode name = "dn3" dataHost = "localhost1" database = "db3" />

 <!-データベースサーバー情報の構成->
 <dataHost name = "localhost1" maxCon = "1000" minCon = "10" balance = "0"
  writeType = "0" dbType = "mysql" dbDriver = "native" switchType = "1" slaveThreshold = "100">
   <!-ハートビートの検出に使用->
   <ハートビート>ユーザー()を選択</ハートビート>

  <!-複数の書き込みホストを持つことができる:配置写库->
  <writeHost host = "hostM1" url = "localhost:3306" user = "root" password = "123456">
    <!-複数の読み取りホストを持つことができます:配置库->
    <readHost host = "hostS2" url = "192.168.1.200:3306" user = "root" password = "xxx" />
  </ writeHost>
</ dataHost>


 

おすすめ

転載: www.cnblogs.com/yuefeng123/p/12724969.html