2009.05.31 Sunday
気軽に新しいMySQLを試してみる: MySQL Sandboxのススメ
MySQLは仕組み上、ひとつのサーバで複数のバージョンを動作させることは比較的簡単にできます。
4.12. 同じマシン上での複数 MySQL サーバの実行
とはいっても、複数のバージョンをリソースの重複なく配置したり、レプリケーション構成をセットアップするのは以外に手間がかかります。こういったときに重宝するのが、MySQL Sandboxというツールです。
MySQL Sandbox 3.0 is released - looking at the future(The Data Charmer)
これはPerlのスクリプトで、複数のバージョン、複数インスタンスのMySQLサーバをお互いに影響することなくセットアップしたり、破棄したりすることができるものです。
クックブックに詳細が記述されているのですが、ここではそれに従った形で、セットアップとレプリケーションの構成を作るところまでやってみます。環境はCentOS 5.3(32-bit)です。
まずrootで、Test::MoreとYAMLをcanを使ってインストールします。
shell> cpan Test::More
shell> cpan YAML
クックブックには、rootで簡単にはいるということで、rootでcpanを使ってMySQL Sandboxを入れる方法が書いてあるのですが、rootで入れると、その後のパーミッション関連がやっかいなので、ユーザmeijiでいれてみます。
まず、インストールするためのディレクトリ$HOME/usr/localを作成します。
shell> mkdir $HOME/usr
shell> mkdir $HOME/usr/local
次にMySQL Sandboxをダウンロードします。現時点での最新バージョンは3.0.1となります。これを任意のディレクトリに展開します。
shell> tar zvxf MySQL-Sandbox-3.0.01.tar.gz
展開したら、そのディレクトリに移動して、ビルド、ならびにインストールします。
shell> perl Makefile.PL PREFIX=$HOME/usr/local
shell> make
shell> make test
shell> make install
これで、$HOME/usr/local以下にインストールされました。
動作に必要な環境変数を設定するように$HOME/.bash_profileを編集します。(CentOS5.3はPerlのバージョンが5.8.8なので以下のようになっています)
PATH=$PATH:$HOME/bin:$HOME/usr/local/bin
export PATH
export PERL5LIB=$HOME/usr/local/lib/perl5/site_perl/5.8.8
設定したら、とりあえず読み込み利用できるようにします。
shell> SOURCE $HOME/.bash_profile
次にMySQL Sandboxで利用するバイナリをダウンロードして、設定します。まずバイナリを置くディレクトリを作成します。
shell> mkdir $HOME/opt
shell> mkdir $HOME/opt/mysql
shell> cd $HOME/opt/mysql
このディレクトリに、nonrpmのバイナリをダウンロードします。例えば、次のようなファイルです。
mysql-5.0.82-linux-i686-glibc23.tar.gz
mysql-5.1.34-linux-i686-glibc23.tar.gz
mysql-6.0.11-alpha-linux-i686-glibc23.tar.gz
ここでは5.0.82を使ってみます。これを下記のように解凍します。
shell> tar zvxf mysql-5.0.82-linux-i686-glibc23.tar.gz
できあがるディレクトリ名mysql-5.0.82-linux-i686-glibc23は長いので、短く5.0.82と変更します。
shell> mv mysql-5.0.82-linux-i686-glibc23 5.0.82
これで準備はオッケーです。5.0.82のレプリケーション環境を作成したときには、次のようにコマンドを打ちます。
shell> make_replication_sandbox 5.0.82
すると、デフォルト構成(1-master, 2-slave)のレプリケーション構成が$HOME/sandboxes/rsandbox_5_0_82に作成されます。
マスターのMySQLサーバにログインするには、上記のディレクトリ以下にあるmasterディレクトリに移動し、./useでログインします。
ここまでできれば、とにかく簡単に複数のバージョンのいろいろな構成が簡単に作成できますので、是非最新のMySQLにも気軽にチャレンジしてください。
4.12. 同じマシン上での複数 MySQL サーバの実行
とはいっても、複数のバージョンをリソースの重複なく配置したり、レプリケーション構成をセットアップするのは以外に手間がかかります。こういったときに重宝するのが、MySQL Sandboxというツールです。
MySQL Sandbox 3.0 is released - looking at the future(The Data Charmer)
これはPerlのスクリプトで、複数のバージョン、複数インスタンスのMySQLサーバをお互いに影響することなくセットアップしたり、破棄したりすることができるものです。
クックブックに詳細が記述されているのですが、ここではそれに従った形で、セットアップとレプリケーションの構成を作るところまでやってみます。環境はCentOS 5.3(32-bit)です。
まずrootで、Test::MoreとYAMLをcanを使ってインストールします。
shell> cpan Test::More
shell> cpan YAML
クックブックには、rootで簡単にはいるということで、rootでcpanを使ってMySQL Sandboxを入れる方法が書いてあるのですが、rootで入れると、その後のパーミッション関連がやっかいなので、ユーザmeijiでいれてみます。
まず、インストールするためのディレクトリ$HOME/usr/localを作成します。
shell> mkdir $HOME/usr
shell> mkdir $HOME/usr/local
次にMySQL Sandboxをダウンロードします。現時点での最新バージョンは3.0.1となります。これを任意のディレクトリに展開します。
shell> tar zvxf MySQL-Sandbox-3.0.01.tar.gz
展開したら、そのディレクトリに移動して、ビルド、ならびにインストールします。
shell> perl Makefile.PL PREFIX=$HOME/usr/local
shell> make
shell> make test
shell> make install
これで、$HOME/usr/local以下にインストールされました。
動作に必要な環境変数を設定するように$HOME/.bash_profileを編集します。(CentOS5.3はPerlのバージョンが5.8.8なので以下のようになっています)
PATH=$PATH:$HOME/bin:$HOME/usr/local/bin
export PATH
export PERL5LIB=$HOME/usr/local/lib/perl5/site_perl/5.8.8
設定したら、とりあえず読み込み利用できるようにします。
shell> SOURCE $HOME/.bash_profile
次にMySQL Sandboxで利用するバイナリをダウンロードして、設定します。まずバイナリを置くディレクトリを作成します。
shell> mkdir $HOME/opt
shell> mkdir $HOME/opt/mysql
shell> cd $HOME/opt/mysql
このディレクトリに、nonrpmのバイナリをダウンロードします。例えば、次のようなファイルです。
mysql-5.0.82-linux-i686-glibc23.tar.gz
mysql-5.1.34-linux-i686-glibc23.tar.gz
mysql-6.0.11-alpha-linux-i686-glibc23.tar.gz
ここでは5.0.82を使ってみます。これを下記のように解凍します。
shell> tar zvxf mysql-5.0.82-linux-i686-glibc23.tar.gz
できあがるディレクトリ名mysql-5.0.82-linux-i686-glibc23は長いので、短く5.0.82と変更します。
shell> mv mysql-5.0.82-linux-i686-glibc23 5.0.82
これで準備はオッケーです。5.0.82のレプリケーション環境を作成したときには、次のようにコマンドを打ちます。
shell> make_replication_sandbox 5.0.82
すると、デフォルト構成(1-master, 2-slave)のレプリケーション構成が$HOME/sandboxes/rsandbox_5_0_82に作成されます。
マスターのMySQLサーバにログインするには、上記のディレクトリ以下にあるmasterディレクトリに移動し、./useでログインします。
ここまでできれば、とにかく簡単に複数のバージョンのいろいろな構成が簡単に作成できますので、是非最新のMySQLにも気軽にチャレンジしてください。