参考サイト: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)"
コメントを残す