mycat1.6.6.1別々の読み取りと書き込み

--mycat1.6.6.1別々の読み取りと書き込み
-スタンバイライブラリ所与の許可
グラントON * *すべての権限をrootに@「%」 'Oracleの;.で識別される
フラッシュ権限;

viのは/ etc / profile

輸出JAVA_HOME =は/ usr / javaの/最新
#EXPORTのCLASSPATH =。$ JAVA_HOME / libに
#EXPORT PATH = $ JAVA_HOME / binに:$ PATH
輸出のCLASSPATH =。$ JAVA_HOME / libに:$ JAVA_HOME / JRE / libに:$ CLASSPATHの
輸出PATH = $ JAVA_HOME / binに:$ JAVA_HOME / JRE / binに:$ PATHに
輸出MYCAT_HOME =は/ opt / mycat
輸出PATH = $ PATH:$ MYCAT_HOME / binに

-デバッグのための変更ログを:
VIM /usr/local/mycat/conf/log4j.xml

<ルート>
<レベル値= "デバッグ" />
<アペンダ-REF REF = "FILE" />
<! - <アペンダ-REF REF = "FILE" /> - >
</ルート>

-私たちが接続したりするために接続するためにmysqlクライアントを使用することができますNavicatはのmycat
- MySQLの-uroot - h192.168.92.14 -P8066 -pmysqlない上陸
-設定が変更confの後に取得するにはmycatサービスにつながる可能性
のmysql -utest - h192.168.92.14 -P8066 -pmysql

-設定ファイルが間違っている場合、その結果:DIDないJVM ON終了要求、終了
-メインライブラリ内の書き込みに許さ構成テーブル唯一の会社以下と読み取ることが許可されていない
VIのschema.xml

<?xml version = "1.0"?>
<DOCTYPEのmycat:スキーマSYSTEM "schema.dtd">
<mycat:スキーマのxmlns:mycat = "のhttp://io.mycat/">
<スキーマ名= "mydb1" checkSQLschema = "true"をsqlMaxLimit = "100">
<テーブル名= "t_order"主キー= "UUID"オートインクリメント= "true"のデータノード= "DN1" />
<テーブル名= "t_user"主キー= "UUID"オートインクリメント=「真"データノード=" DN2 "/>
<テーブル名="会社」主キー= "ID"タイプ= "グローバル"データノード= "DN3" />
</スキーマ>

<データノード名= "DN1" dataHost = "dhost1"データベース= "orderdb" />
<データノード名= "DN2" dataHost = "dhost1"データベース= "userdbの" />
<データノード名= "DN3" dataHost = "dhost2"データベース= "userdbの" />

<dataHost名= "dhost1" maxCon = "1000" minCon = "10"バランス= "1" writeType = "0"のdbType = "MySQLの" dbDriver = "ネイティブ">
<ハートビート>を選択し、ユーザ()</ハートビート>
<writeHostホスト= "myhostM1" URL = "192.168.92.14:3306"ユーザー= "ルート"パスワード= "神託">
<readHostホスト= "myhostS1" URL = "192.168。 92.16:3306"
ユーザー= "ルート"パスワード= "神託"重量= "1" />
</ writeHost>
</ dataHost>
<dataHost名= "dhost2" maxCon = "1000" minCon = "10"バランス= "1 "writeType =" 0"のdbType = "mysqlの" dbDriver = "ネイティブ">
<ハートビート>ユーザーを選択します()</ハートビート>
<writeHostホスト= "myhostM2" URL = "192.168.92.14:3306"ユーザー= "ルート"パスワード= "神託"> </ writeHost>
</ dataHost>
</ mycat:スキーマ>

TESTDB:最後のユーザー、過剰mycatスキーマの最後のアウトのコメントとしてviのserver.xml設定

<ユーザー名= "ルート" defaultAccount = "真">
<プロパティ名= "パスワード">オラクル</プロパティ>
<プロパティ名= "スキーマ"> mydb1 </ property>の

<! -表级DML权限设置- >
<! -
<権限チェック= "偽">
<スキーマ名= "TESTDB" DML = "0110">
<テーブル名= "TB01" DML = "0000"> </ TABLE>
<テーブル名= "TB02" DML = "1111"> </ TABLE>
</スキーマ>
</権限>
- >
</ユーザー>

<! - -のSchema.xml TESTDBはしていない、次のユーザーコメントアウトので>
<! -
<ユーザー名= "ユーザー">
<プロパティ名= "パスワード">ユーザー</プロパティ>
<プロパティ名= "スキーマ"> TESTDB </プロパティ>
真</プロパティ>から<プロパティ名= "読み取り専用">
</ユーザー>
- >

起動エラー--mycat
JVMからの信号で時限OUT Aを待っている:起動に失敗しました。
JVM ONが終了要求をしませんでした、終了
ソリューション:この場合は、追加のwrapper.confを少なくwrapper.startup.timeout
wrapper.startup.timeoutタイムアウト= 300 // 300秒
wrapper.ping.timeout = 120

-変更ログモードデバッグ
VI /opt/mycat/conf/log4j2.xml情報デバッグ変更
<「真の」asyncRootレベル=「デバッグ」includeLocationを=>

<! - <AppenderRef REF = "コンソール" /> - >
<AppenderRef REF = "RollingFile" />

</ asyncRoot>

-以前的版本参考:
<ルート>
<レベル値= "デバッグ" />
<アペンダ-REF REF = "FILE" />
<! - <アペンダ-REF REF = "FILE" /> - >
</ルート>


- mycat参照startup_nowrap.shを開始するためのstartコマンドを実行します

スタート&myCat
--navicatポート8066 mycatを経由して、次のコマンドラインを接続myCat
MySQLの-uroot - h192.168.92.14 -P8066 -poracle

-クエリのデバッグログは、以下のように、対応するアタッチメントキーに従って、対応する実行ノードSQL実行ログとして決定することができる
尾-f /opt/mycat/logs/mycat.log

問い合わせCMD送信する:
選択したユーザを()
プールで
DBHostConfig [で、hostName = myhostM1、URL = 192.168.92.14:3306]

--navicat別個の読み取りおよび書き込みテストは
orderdb.t_order SELECT * FROM;
; INSERT INTO SELECT orderdb.t_order 16、 'user16'
の書き込みのみ読み取りエラー-
; orderdb.company SELECT * FROM
'、INSERT INTOはSELECT orderdb.company 6。 company6「;

おすすめ

転載: www.cnblogs.com/buffercache/p/12446299.html