読み取りと書き込みのデータベースミドルウェアのmycat分離

  mycatコアコンセプト

  Mycat定義された論理ライブラリー、データベース管理

  ライブラリ・テーブルに含まれるサブテーブルに格納された論理サブライブラリ必要な論理テーブル

  ノードを格納するデータノードデータノード(ノード断片)、ロジックテーブルスライス

  datahostデータホスト(マスターノード)は、ノードのホストデータ

  実際のデータベースサービスホストホストを書くwritehost

  ホストを読んreadhost

  MySQLのマスタ - スレーブ同期設定

  プライマリ・データベース上でアカウントを作成するために、同期1、

  *上の助成金のレプリケーションスレーブ*「repl'@'192.168.5.125」が「123456」で識別します。

  図2に示すように、マスタノード構成、オープンバイナリログ、VIな/etc/my.cnfは、以下の構成を追加します

MySQLの-ビン=ログビン#ログファイル名のプレフィックス
サーバクラスタ固有のIDで-id = 1#整数、値は1〜2 ^ 32-1かもしれ

  3、再起動mysqlの、入力し、mysqlのクライアントは、SHOW MASTER STATUSがメインライブラリのステータスを表示します

  4、ノードの追加、構成、VIな/etc/my.cnfから、追加

サーバID = 2

  図5は、入力mysqlクライアント・ノードから、文のホストライブラリに変更マスタの同期設定を行い、 

= '192.168.5.144'、MASTER_USER = 'REPL' をMASTER_HOSTに変更MASTER、MASTER_PASSWORD = '123456';

  状態を表示するために、ライブラリからのshowスレーブ・ステータス、ライブラリSTART SLAVEからオープン6、。

  図7に示すように、以下のマスタライブラリのコマンド、対応するデータベースかどうかを確認するため、およびデータベースからのデータテーブル

DATABASE受注文字セット「UTF8」を作成

受注を使用します。

表t_order CREATE(
ORDER_ID BIGINT PRIMARY KEY、
order_timeの日時を、
BIGINT、CUSTOMER_ID 
ORDER_AMOUNT DECIMAL( 8,2 
)。

  mycatマスター・スレーブ構成

  参考詳細な構成:http://www.mycat.io/document/mycat-definitive-guide.pdf

  1、schema.xmlを構成論理ライブラリ・データ・ノード、データ・ホスト

<?のXmlバージョン= "1.0" ?> 
<!:DOCTYPEはSYSTEMスキーマ"schema.dtdを" myCat > 
< myCat:スキーマのxmlns:myCat = "HTTP://io.mycat/" > 
<! - 注:内部特定のスキーマ、注文データノード、dataHost構成に従って要素> - 
< スキーマ= "MYDB1" checkSQLschema = "偽の" sqlMaxLimit = "100" 
データノード= "mydn1" > 
</ スキーマ> 
< データノードの名前= "mydn1" dataHost = "dhost1" データベース= "受注」  /> 
< データノードの名前= "mydn2" dataHost = "dhost2" データベース= "注文"  /> 
<! - 读写分离第一种配置方式- > 
< dataHostの名前= "dhost1" maxCon = "1000" minCon = "10" バランス= "1" 
writeType = "0" のdbType = "MySQLの" dbDriver = "天然" > 
< ハートビート>を選択し、ユーザ()</ ハートビート> 
< writeHostのホストは= "myhostM1" URL = "192.168.100.218:3306" ユーザー= "マイク" 
パスワード= "Mike666!"> 
< readHost ホスト= "myhostS1" URL = "192.168.100.219:3306" 
ユーザー= "マイク" パスワード= "Mike666!" 重量= "1"  /> 
</ writeHost > 
</ dataHost > 
<! - 读写分离第二种配置方式- > 
< dataHostの名前= "dhost2" maxCon = "1000" minCon = "10" バランス=」 1" 
writeType = "0" のdbType = "MySQLの" dbDriver = "ネイティブ"
</ ハートビート> 
< writeHostのホスト= "myhostM2" URL = "192.168.100.218:3306" ユーザー= "マイク" 
パスワード= "Mike666!" > </ writeHost > 
< writeHostのホスト= "myhostS2" URL = "192.168.100.219:3306" ユーザー= "マイク" 
パスワード= "Mike666!" > </ writeHost > 
</ dataHost > 
</ mycat:スキーマ>

  2、server.xmlのユーザーデータベースのアクセス権を設定します

< ユーザー= "ルート" defaultAccount = "真" > 
< プロパティ= "パスワード" > 123456 </ プロパティ> 
< プロパティ= "スキーマ" > mydb1 </ プロパティ> 
</ ユーザー>

  3、別読み出し及び書き込みモードの2つの構成の間の差

  最初のホストは、書き込みMySQLは、最初のマシン第二のMySQLのMySQLハング通常の読み出しおよび書き込みの後、使用後の第二段階をハングアップ実際にはモード(スタンバイモード)に耐えられない読み取ら

  4、Navicatはまたは単一の構成に接続するためのMySQLのようなJava APIには、mycatは、私たちは別々の読み取りを実現し、書き込みをするのに役立ちます

おすすめ

転載: www.cnblogs.com/hhhshct/p/11355138.html