MySQL
Fabric、そのまま全てを(Fabric対応コネクターに全てを任せて)使うのはつらすぎるとして、せめてお手軽にMySQLを監視したりSwitchoverさせたりする器として使えないかな、というのを前からずっと考えていて(mysqlrpladmin 使えって? 知らない子ですね。。)
MySQL Fabricつらい Advent Calendar 2014 - Qiita
去年の12月に、「mysqlfabricをそのままクライアントとして使おうとするとlocalhostのmysqlfabricサーバーに接続しようとして転ける、 …
MySQL Fabricにて”Global” という名前でグループを作成し,その中にサーバを三台登録してあります。
本日は、Shardingの作成とShardingされたTableとグループ全体に対してDDLを実行しました。
【目的】 ShardingされたMySQL Fabric GroupへのCRATE,ALTERなどのDDLの実行と適用範囲の確認
■ Sharding作成前の状況
-bash-4.2$ mysqlfabric group lookup_servers global Fabric UUID: 5ca1ab1e-a007-feed-f00d-cab3fe13249e Time-To-Live: 1 server_uuid address status mode weight ------------------------------------ --------------- --------- ---------- ------ fd8f10c5-c3c1-11e4-84b2-080027d65c57 127.0.0.1:63301 PRIMARY READ_WRITE 1.0 fe41edb4-c3c1-11e4-84b2-080027d65c57 127.0.0.1:63302 SECONDARY READ_ONLY 1.0 fed03648-c3c1-11e4-84b2-080027d65c57 127.0.0.1:63303 SECONDARY READ_ONLY 1.0 -bash-4.2$…[さらに読む]
mysqlfabric group add実行時の新規追加サーバーのデータ同期について。
1)マスターDBに必要なバイナリーログがある場合は、新規Slaveがログを読み込んでデータ同期。
2)
マスターDBに必要なバイナリーログが無い場合は、新規Slaveにデータをリストアしてからmysqlfabric group
addコマンドを実行。
■ mysqlfabric group addコマンドについての前回のブログ
mysqlfabricにてSlaveを追加
【通常時Fabric管理ノードが受け取っている処理】
…[さらに読む]
mysql fabricにて書き込みのRANGEシャーディングしたテーブルから、
データを読み込みの確認。
分割定義
# Create Sharding Grop1 mysqlfabric group create shard1 mysqlfabric group add shard1 127.0.0.1:63304 mysqlfabric group add shard1 127.0.0.1:63305 mysqlfabric group add shard1 127.0.0.1:63306 mysqlfabric group promote shard1 mysqlfabric group activate shard1 # Create Sharding Group2 mysqlfabric group create shard2 mysqlfabric group add shard2 127.0.0.1:63307 mysqlfabric group add shard2 127.0.0.1:63308 mysqlfabric group add shard2 127.0.0.1:63309 mysqlfabric group promote shard2 mysqlfabric group activate shard2 # Add sharding to employee mysqlfabric sharding add_table 1 test.employees emp_no mysqlfabric sharding add_shard 1 shard1/1,shard2/300 --state=enabled
…
[さらに読む]MySQL Fabricを利用していて、Node障害が発生した場合の対応手順確認。
■ FAULTYの状態からの回復手順
今回は、MySQLのProcessをkillコマンドで停止して疑似障害を起こしていたので、
再度起動しなおしてから以下の操作を行いました。
1) 現状確認
-bash-4.2$ mysqlfabric group lookup_servers global Fabric UUID: 5ca1ab1e-a007-feed-f00d-cab3fe13249e Time-To-Live: 1 server_uuid address status mode weight ------------------------------------ --------------- --------- ---------- ------ 4594fd2a-aa84-11e4-a01a-08002766cefe 127.0.0.1:63301 FAULTY READ_WRITE 1.0 46317949-aa84-11e4-a01a-08002766cefe 127.0.0.1:63302 PRIMARY READ_WRITE 1.0 470a3117-aa84-11e4-a01a-08002766cefe 127.0.0.1:63303 SECONDARY READ_ONLY 1.0 4783b13a-aa84-11e4-a01a-08002766cefe 127.0.0.1:63304 …[さらに読む]
mysqlfabric helpコマンドで見てもオプションがはっきりしなかったので
一応確認中ですが、set_modeにはREAD_WRITEとREAD_ONLY以外にもモードがあるようです。
Possible values are:
(0, ‘OFFLINE’), (1, ‘READ_ONLY’), (2, ‘WRITE_ONLY’), (3,
‘READ_WRITE’).
-bash-4.2$ mysqlfabric help server set_mode server set_mode server_id mode [--synchronous] Set a server's mode. The mode determines whether a server can process read-only, read-write or both transaction types.
WRITEにしてみる
-bash-4.2$ mysqlfabric server set_mode fbe1d550-a7f8-11e4-8f83-08002766cefe WRITE_ONLY Fabric UUID: 5ca1ab1e-a007-feed-f00d-cab3fe13249e Time-To-Live: 1 uuid finished success result ------------------------------------ -------- ------- ------ 8a084578-b917-4864-a1db-68a430fb0b51 1 1 …[さらに読む]