日向夏特殊応援部隊

俺様向けメモ

MySQL::Sandbox

MySQL::Sandbox はお手軽に MySQL のサーバーを立ち上げるツールで、ちょっとしたテスト環境を構築するとかに非常に便利なプロダクトです。

とりあえずインストール

$ sudo cpan -i MySQL::Sandbox

でインストールしてから OS ごとの実行バイナリをダウンロードします。自分の手元の VMCentOS 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 環境ごと作ってくれたりだの、色んなサンドボックスを作れるようになってたりして、手軽にテスト環境を作りたいなんて用途には結構使えるんじゃないかなーと思っています。

もうちょっと色々弄ってみる予定。