SandBoxによるMySQL5.1.44+SPIDER+VPインストール

参考サイト:http://nippondanji.blogspot.com/2010/04/spider.html
■事前準備
SandBoxのインストール
■ソースダウンロード
http://launchpad.net/spiderformysql/spider-2.x/2.23-for-5.1.44/+download/mysql-5.1.44-spider-2.23-vp-0.12.tgz
ちなみにこのソースはmysql5.1.44にSPIDERのパッチ、VPのパッチ、Condition Pushdownを有効化するパッチなどが当たっているナイスなソース。
■インストール
※Ubuntu10.10、Fedora14の場合、gccをソースコードから入れ直さないとビルドできない模様。
CentOS5.xならそのままでOK。
さらっと調べた結果、mysql5.1.44側のバグっぽい。

$ ./configure --prefix=/usr/local/mysql-5.1.44
--enable-thread-safe-client
--enable-local-infile
--with-pic
--with-fast-mutexes
--with-client-ldflags=-static
--with-mysqld-ldflags=-static
--with-zlib-dir=bundled
--with-big-tables --with-ssl
--with-readline
--without-embedded-server
--with-charset=utf8
--with-extra-charsets=all
--sysconfdir=/usr/local/mysql-5.1.44/etc
--with-unix-socket-path=/usr/local/mysql-5.1.44/tmp/mysql.sock
--with-plugins=partition,innobase,ndbcluster
$ make
# make install

■SandBox経由でセットアップ

$ cd ~
$ mkdir opt
$ mkdir opt/mysql
$ ln -s /usr/local/mysql-5.1.44 ~/opt/mysql/5.1.44
$ make_multiple_sandbox --how_many_nodes=8 5.1.44
$ cd ~/sandboxes/multi_msb_5_1_44
$ ./use_all 'create database spider_test character set utf8'
$ cp ~/src/mysql-5.1.44/scripts/install_spider.sql .
$ cp ~/src/mysql-5.1.44/scripts/install_vp.sql .
$ ./use_all 'source install_spider.sql'
$ ./use_all 'source install_vp.sql'

奥野さんのサンプルを拝借。

$ mv ~/src/my_spider.cnf ~/sandboxes/multi_msb_5_1_44
$ cd ~/sandboxes/multi_msb_5_1_44
$ n=1
$ while [ $n -le 4 ]
do
echo '[mysqld]
character-set-server=utf8
max-allowed-packet=16M
skip-innodb' >> node${n}/my.sandbox.cnf
cat my_spider.cnf >> node${n}/my.sandbox.cnf
n=$(($n + 1))
done
$ while [ $n -le 8 ]
do
echo '[mysqld]
character-set-server=utf8
max-allowed-packet=16M
innodb-buffer-pool-size=128M
innodb-log-file-size=32M' >> node${n}/my.sandbox.cnf
n=$(($n + 1))
done

SandBoxを使わないで自分でノードを作るときも、node${n}/my.sandbox.cnfの[mysqld]の設定を参考にすれば楽。
■起動

$ ./stop_all
$ rm node?/data/ib* # InnoDBのデータファイルはいったん削除。
$ ./start_all

■リモートホストの登録

$ ./use_all "CREATE SERVER n1 FOREIGN DATA WRAPPER mysql OPTIONS (USER 'msandbox', PASSWORD 'msandbox', HOST '127.0.0.1', PORT 16545);
CREATE SERVER n2 FOREIGN DATA WRAPPER mysql OPTIONS (USER 'msandbox', PASSWORD 'msandbox', HOST '127.0.0.1', PORT 16546);
CREATE SERVER n3 FOREIGN DATA WRAPPER mysql OPTIONS (USER 'msandbox', PASSWORD 'msandbox', HOST '127.0.0.1', PORT 16547);
CREATE SERVER n4 FOREIGN DATA WRAPPER mysql OPTIONS (USER 'msandbox', PASSWORD 'msandbox', HOST '127.0.0.1', PORT 16548);
CREATE SERVER n5 FOREIGN DATA WRAPPER mysql OPTIONS (USER 'msandbox', PASSWORD 'msandbox', HOST '127.0.0.1', PORT 16549);
CREATE SERVER n6 FOREIGN DATA WRAPPER mysql OPTIONS (USER 'msandbox', PASSWORD 'msandbox', HOST '127.0.0.1', PORT 16550);
CREATE SERVER n7 FOREIGN DATA WRAPPER mysql OPTIONS (USER 'msandbox', PASSWORD 'msandbox', HOST '127.0.0.1', PORT 16551);
CREATE SERVER n8 FOREIGN DATA WRAPPER mysql OPTIONS (USER 'msandbox', PASSWORD 'msandbox', HOST '127.0.0.1', PORT 16552)"

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です