groongaストレージエンジンは現在 MySQL 5.1 にしか対応してないようですが、MySQL 5.5.6-rc に入れてみました。
用意するもの
- groonga のソース: goonga-1.0.2.tar.gz http://groonga.org/download/ より
- groongaストレージエンジンのソース: groonga-storage-engine-0.2.tar.gz http://github.com/mroonga/mroonga/downloads より
- MySQLのソース: mysql-5.5.6-rc.tar.gz http://dev.mysql.com/downloads/mysql/5.5.html より
- MySQLのバイナリ: mysql-5.5.6-rc-linux2.6-x86_64.tar.gz http://dev.mysql.com/downloads/mysql/5.5.html より
groongaのインストール
$ tar xpvfz .../groonga-1.0.2.tar.gz $ ./configure --prefix=/usr/local/groonga $ make $ sudo make install
MySQLのバイナリのインストール
$ sudo -s # useradd -r mysql # cd /usr/local # sudo tar xpvfz .../mysql-5.5.6-rc-linux2.6-x86_64.tar.gz # sudo ln -s mysql-5.5.6-rc-linux2.6-x86_64 mysql # cd mysql # ./scripts/mysql_install_db # chown -R mysql:mysql .
groongaストレージエンジンのインストール
コンパイルにMySQLのソースが必要です。ソースが展開されているだけでよくて、MySQLをコンパイルする必要はありません。
groonta-storage-engine-0.2 はそのままでは MySQL 5.5 に対応していないため以下のパッチを適用しました。
コンパイルが通るように適当に書き換えただけなので怪しいですが…。
--- ha_mroonga.cc.orig 2010-09-16 16:54:45.000000000 +0900 +++ ha_mroonga.cc 2010-09-29 13:24:06.000000000 +0900 @@ -22,9 +22,11 @@ #endif #define MYSQL_SERVER 1 +#define DBUG_OFF 1 -#include <mysql_priv.h> -#include <mysql/plugin.h> +#include <sql_plugin.h> +#include <sql_priv.h> +#include <sql_show.h> #include <sql_select.h> #include <pthread.h> #include <sys/types.h>
$ tar xpvfz .../mysql-5.5.6-rc.tar.gz $ tar xpvfz .../groonga-storage-engine-0.2.tar.gz $ cd groonga-storage-engine-0.2 $ patch -p0 < .../groonga-storage-engin-0.2_for-mysql5.5.patch $ PKG_CONFIG_PATH=/usr/local/groonga/lib/pkgconfig ./configure --with-mysql-source=../mysql-5.5.6-rc --with-mysql-config=/usr/local/mysql/bin/mysql_config $ make $ sudo make install
これで MySQL で次のようにすると groonga ストレージエンジンが使用できるようになります。
mysql> install plugin groonga soname 'ha_groonga.so';
注意
- 上にも書きましたがパッチは適当に作ったものです。
- MySQL の新しい charset utf8mb4 は groonga ストレージエンジンは使えないようです。utf8 ではちゃんと使用できました。