MySQL::Sandbox
MySQL::Sandbox はお手軽に MySQL のサーバーを立ち上げるツールで、ちょっとしたテスト環境を構築するとかに非常に便利なプロダクトです。
とりあえずインストール
$ sudo cpan -i MySQL::Sandbox
でインストールしてから OS ごとの実行バイナリをダウンロードします。自分の手元の VM は CentOS 5.2 なので、mysql-5.0.82-linux-i686-glibc23.tar.gz をダウンロードしました。
まずは レシピ の最初にあるように make_sandbox してみます。
$ make_sandbox /path/to/mysql-5.0.82-linux-i686-glibc23.tar.gz
そうすると /home/zigorou/sandboxes 以下にサンドボックスが出来てます。ついでに mysqld も立ち上がっています。
$ pwd /home/zigorou/sandboxes $ ls clear_all msb_5_0_82 restart_all sandbox_action send_kill_all start_all stop_all use_all
この msb_5_0_82 以下が今回作ったサンドボックスです。
使い方
use ってのが mysql コマンド相当です。
$ ./msb_5_0_82/use -V /home/zigorou/tmp/5.0.82/bin/mysql Ver 14.12 Distrib 5.0.82, for pc-linux-gnu (i686) using readline 5.1 $ ./msb_5_0_82/use -e 'show databases;' +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | test | +--------------------+
とかとか。ここら辺はまぁ皆さんお使いでしょうから分かりますよね。
start, stop, restart ってコマンドがありますが、ご想像の通りです。mysqld を起動、停止、再起動してくれます。
それと clear コマンドですが、作成したデータベース及びテーブル等を初期状態にして stop してくれます。
まさしくテスト向けですねー。
とりあえずまとめ
実は他にも replication 環境ごと作ってくれたりだの、色んなサンドボックスを作れるようになってたりして、手軽にテスト環境を作りたいなんて用途には結構使えるんじゃないかなーと思っています。
もうちょっと色々弄ってみる予定。