mysqlvcで、MariaDBとかが使えるようになった

さて、先日から開発しているMySQLのバージョン管理ソフトmysqlvcがそこそこ使えるようになってきました。
コマンド実行時に色々チェックとかしていないのでコマンド間違えるとバグりやすいのですが、まあそこはご愛嬌。
https://github.com/longicorn/mysqlvc


それよりもMariaDBとか派生版のMySQLが普通に使えるようになったのでかなり嬉しい。
仕事ではMySQLから逃れられないようなので、当分重宝しそう。


コマンドもそこそこ固まってきたので現時点での使い方もメモしておこう。
奇特な人が使ってくれるかもしれないし。


まずはcloneします。~/.mysqlvcを使うようにしてみます。

$ git clone https://github.com/longicorn/mysqlvc.git ~/.mysqlvc

~/.bashrcに設定

export PATH=/path/to/mysqlvc/bin:$PATH
export PATH=/path/to/mysqlvc/libexec:$PATH

# ライブラリのパスを通す
# Linuxだとこっち
export LD_LIBRARY_PATH=$HOME/.mysqlvc/lib:$LD_LIBRARY_PATH

# Macだとこっち。どっちでもお好きに。
$ export DYLD_LIBRARY_PATH=$HOME/.mysqlvc/lib:$DYLD_LIBRARY_PATH
$ export DYLD_FALLBACK_LIBRARY_PATH=$HOME/.mysqlvc/lib:$DYLD_FALLBACK_LIBRARY_PATH

sourceするか、shellの再起動を。


MySQLのインストール
Macだとgccをインストールしておいたほうが良いでしょう。
CCとCXXをセットする必要あるかも。

# installできるバージョン
$ mysqlvc install list

# 好きなのをインストール。いくつかインストールできないのもあります。
$ mysqlvc install バージョン

# 使うMySQLのバージョンを指定
$ mysqlvc use バージョン
# 使っているMySQLのバージョンを表示
$ mysqlvc use 

clusterを使う。
clusterはMySQLのdataディレクトリを分ける機能。
仕事用とプライベート用とかで分けて、同時にサーバ起動したりできる。

# masterというclusterを作成
$ mysqlvc cluster create master

# masterでMySQLを起動
$ mysqlvc cluster start master

# clusterの状態表示
$ mysqlvc cluster list

# masterでコマンドラインクライアント起動
$ mysqlvc cluster use master

# masterのMySQLサーバを停止
$ mysqlvc cluster stop master


clusterを2つ同時に使ってみる。

$ mysqlvc cluster start master

# slaveというclusterを作成
$ mysqlvc cluster create slave

# slaveを起動。masterと2つ起動しているはず
$ mysqlvc cluster start slave

# master,slaveの両方を同時に使える。
$ mysqlvc cluster use master
$ mysqlvc cluster use slave


メモリとHDDが許す限りいくらでも使えるはず。
一応MacLinuxでテストしているけど、開発中なのでまだ不安定なので興味ある人だけ使ってください。

コマンド体系はこれでいいか少し考え中。
コード汚かったり、足りない機能もまだまだあるんだけど、個人的にはすごく便利。
なにより自分で開発しているから動作がだいたい分かるし。