$ mysqlfabric --param=protocol.xmlrpc.address=172.17.3.202:32274 group lookup_servers myfabric Fabric UUID: 5ca1ab1e-a007-feed-f00d-cab3fe13249e Time-To-Live: 1 server_uuid address status mode weight ------------------------------------ ----------------- --------- ---------- ------ 7dbe3da8-9f4f-11e5-ad3e-0242ac1103ce 172.17.3.206:3306 SECONDARY READ_ONLY 1.0 81392c70-9f4f-11e5-ad15-0242ac1103d0 172.17.3.208:3306 SECONDARY READ_ONLY 1.0 84d6578f-9f4f-11e5-ad3b-0242ac1103d2 172.17.3.210:3306 PRIMARY READ_WRITE 1.0
まずはこんなレプリケーションを組んでMySQL Fabricに登録させておく。
MySQL FabricのIPアドレスは172.17.3.202。MySQL RouterのIPアドレスは172.17.3.218。
MySQL Fabric上のグループ名はmyfabric。
[fabric_cache:dummy] address = 172.17.3.202 user = admin [routing:master] bind_address= 0.0.0.0:13306 mode = read-write destinations= fabric+cache://dummy/group/myfabric [routing:slave] bind_address= 0.0.0.0:23306 mode = read-only destinations= fabric+cache://dummy/group/myfabric
MySQL Routerに追加したコンフィグはこんな感じ。
日々の覚書: MySQL Routerつらくない(yumでインストールして動かしてみた編) の時にはIPアドレスを直書きしていたdestinationsに、 "fabric+cache://.."でFabric Cacheプラグインを指定できる。
まずはfabric_cache:* セクションでMySQL Fabricサーバーの情報を定義する。コロンのあとはMySQL Fabricを一意に識別する識別子になる。今回はdummyにしてみた。
addressはMySQL FabricサーバーのIPアドレス。特別指定してない場合はポート32275(MySQL FabricがMySQLプロトコルを喋る方のポート)に接続しに行く。
userはMySQLサーバー側のユーザーではなく、MySQL Fabricのユーザー(`mysqlfabric manage setup`した時に聞かれるやつ)
routing:*セクションで前回と変わってるのはdestinationsのところだけ。"fabric+cache://"は決め打ち、"dummy"の部分がfabric_cache:*セクションで命名した名前、"group"は今のところ決め打ち(たぶん、`mysqlfabric group lookup_servers myfabric` のgroupだと思う)、最後がMySQL Fabric上のグループ名。今回はmyfabric。
$ mysql -h 172.17.3.218 -P 13306 -u ap mysql> SELECT current_user(); +----------------+ | current_user() | +----------------+ | ap@% | +----------------+ 1 row in set (0.00 sec) mysql> SELECT @@hostname; +--------------+ | @@hostname | +--------------+ | a714ddbc4a72 | +--------------+ 1 row in set (0.00 sec)
MySQL Fabricの向こう側、実際のMySQLサーバーに接続するためのユーザー名はクライアント側が指定する。
$ mysql -h 172.17.3.218 -P 23306 -u ap -e "SELECT @@hostname" +--------------+ | @@hostname | +--------------+ | 3a72ab61519c | +--------------+ $ mysql -h 172.17.3.218 -P 23306 -u ap -e "SELECT @@hostname" +--------------+ | @@hostname | +--------------+ | 548859aa0c72 | +--------------+ $ mysql -h 172.17.3.218 -P 23306 -u ap -e "SELECT @@hostname" +--------------+ | @@hostname | +--------------+ | 3a72ab61519c | +--------------+ $ mysql -h 172.17.3.218 -P 23306 -u ap -e "SELECT @@hostname" +--------------+ | @@hostname | +--------------+ | 548859aa0c72 | +--------------+
スレーブ側に割り当てたポート23306にアクセスすれば、ラウンドロビン。
え、なんかこれホントにつらくなくない…?
MySQL :: MySQL Router :: 5.2 Fabric Cache Plug-in
0 件のコメント :
コメントを投稿