アシアルブログ

アシアルの中の人が技術と想いのたけをつづるブログです

MacにgroongaのMySQL用ストレージエンジン

こんばんは。笹亀です。

2年間お世話になった神楽坂からお引越しをすることになりました。
名前がカッコいいからと言う単純な理由から選んだ割には、
だいぶいい街で快適に過ごさせていただきました。
ということで現在は家探し中です。

さて今日はgroonga(ぐるんが)のMySQL用ストレージエンジンを実際に使ってみたくなり、
インストールをしてみようと思います。

そもそもgroongaは今もまだ広く利用されている全文検索システムSennaの後継と言われています。groongaストレージエンジンはMySQLSennaを利用するTritonnの後継プロジェクトとなります。MySQLではver5.1からPluggable Storage Engineインタフェースが採用されたことで、
以前よりも柔軟に独自のストレージエンジンを利用できるようになりました。

上記のことからMySQL経由でもgroongaを利用できるようになるということです。groongaのMySQLストレージエンジンを経由するとgroongaをSQLコマンドでも利用することができるようになります。

それでは早速インストールしていこうと思います。当然ですが、MySQLの5.1とgroongaが既にインストールされている必要があります。
 ※自分の環境はMacなので若干パス情報などが違いますので、ご注意くださいませ。
 ※なお、MySQLのインストールは省略します。

まずはgroongaをソースをダウンロードしてインストールする。
http://groonga.org/download/からダウンロードし、適当な箇所に解凍します。
コンパイルをしてインストールします。


 ./configure --prefix=/opt
 make
 sudo make install
※正常にソースからインストール完了


groongaストレージエンジンのビルドしてみた。
http://github.com/mroonga/mroonga/downloadsからダウンロードし、適当な箇所に解凍します。

http://mroonga.github.com/tutorial.html#id3」のページを元にインストールを進めているときにここで意味深な説明分を発見した。
「with-mysqlMySQLソースコードディレクトリ」ということはソースをダウンロードしないといけないのか・・?と思い、MacPortsなので「/opt/local/var/macports/distfiles/mysql5/mysql-5.1.43.tar.gz」からコピーして展開し、展開先を設定しました。
"libdir"でMySQLバイナリのプラグインディレクトリ、
"with-groonga"でgroongaのインストール先を指定してconfigureを実行します。

最終的にこんな感じ


./configure --with-mysql= /Users/sasa/Public/src/mysql-5.1.43 --libdir=/opt/local/lib/mysql5/mysql/plugin --with-groonga=/opt


むむ。。。エラーが出るぞ。。
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C preprocessor... gcc -E
checking build system type... Invalid configuration `/Users/sasa/Public/src/mysql-5.1.43': machine `/Users/sasa/Public/src/mysql' not recognized

いろいろ調べてみる。。
どうやらソースからインストールされているMySQLのビルドしたソースが必要みたいだ。
MacPortsでインストールしたbuild先を探して確認してみる。




portdbpath
MacPorts がダウンロードしたソース、インストールされた ports のレシート、主要なレジストリといった作業データを保存するディレクトリ。'${prefix}' におけるパス名の制約と同じ制約があります。

ということは「opt/local/var/macports」内でbuildしていることがわかった。
上記箇所に移動してみるとbuildフォルダを発見。
過去にインストールしたアプリごとにbuildファイルがあることを期待して確認をしていましたが、見事に空っぽでした。インストールするごとに維持的な展開場所として利用するんだとうと勝手に解釈しました。

どうしても自分の環境にインストールしたかったのですが、見事にうまくインストールできませんでした。MySQLをソースからインストールしてMySQLのbuildソースがある状態でインストールしないといけないということがよくわかりましたが、ソースからインストールしか使えないというのはいかがなものかと思います。

yumなどでインストールした場合はgroongaのMySQL用ストレージエンジンはインストールできるんでしょうか?
 ※buildソースって保持しているのでしょうか?なんかうまく出来ない気がしています。

もし、この辺りの情報に詳しい方々、
知識不足の自分にご教授いただけますと幸いでございます。