mysqlrouterまで待てない、routerにはない機能を使いたい人向け
サンプルコンフィグでもハマると
ERROR 1045 (28000): failed to create new session
が出て繋がらないので自分の事例を紹介
手探りで構築したので間違っているのでしたら取り下げますのでご指摘よろしくお願い致します。
#ダウンロード
https://mariadb.com/downloads
まさかのfirefoxではOS選択画面が表示されずダウンロードできません
火狐に愛の手を
#権限
CREATE USER 'monitor'@'%' IDENTIFIED BY 'xxxxxx';
GRANT SELECT ON mysql.user TO 'monitor'@'%';
GRANT SELECT ON mysql.db TO 'monitor'@'%';
GRANT SELECT ON mysql.tables_priv TO 'monitor'@'%';
GRANT SHOW DATABASES ON *.* TO 'monitor'@'%';
GRANT REPLICATION CLIENT ON *.* TO 'monitor'@'%';
flush privileges
ユーザ名には指定がないですがmonitorを仮で入れてます。
権限は5つ必要な模様。エラーログに出てくれるのでわかりやすいです。
ubuntu16.04では/var/log/maxscale/maxscale1.logに出力されました
#コンフィグ
公式にサンプルがあります。
https://mariadb.com/kb/en/mariadb-enterprise/connection-routing-with-mysql-replication/
基本的にこのコンフィグで動作します。最小モードでまずテストを
/etc/maxscale.cnf.templateの設定では完全には動作しません
##serviceタグ
[xxxx Service]
type=service
router=readconnroute
サンプルでも書かれてますがrouter=readconnrouteしか動作せず
router=readwritesplitにするとERROR 1045になる模様
普通はgarela環境で使うためwrite serviceにはreadwritesplitを指定する例が多く
mysqlユーザがハマりやすいポイントかと
##serviceタグ
[xxxx Service]
type=service
#router_options=xxxxxxxxxx
router_options=有効にするとERROR 1045になる模様
filterがうまく動作しない・・・
動きましたら使っているコンフィグをUPします。
#起動
sudo maxscale
でも起動します。ヘルプは--help、停止はkill?
sudo systemctl start maxscale.service
こっちがubuntu16.04では正式
ってかinitファイルも用意してもいいのではないかと言いたい。corosyncのサンプル的にも