CentOS - Mroonga インストール(by ソースビルド)!
Updated:
MySQL 5.7 に全文検索エンジン Groonga の機能を実現するストレージエンジン Mroonga をソースをビルドしてインストールする方法についてです。
0. 前提条件
- CentOS 6.7(32bit) での作業を想定。
- 当記事執筆時点で最新の Mroonga 5.10 をインストールする。
- Groonga 5.1.0 がインストール済みであることを想定。
(参照:CentOS - Groonga インストール(by yum パッケージ)!) - MySQL 5.7.9 をソースをビルドしてインストールしていること。(Mroonga のビルドに MySQL のソースが必要なため)
(参照:CentOS - MySQL 5.7 インストール(ソースビルド)!) - MySQL 5.7.9 は “/usr/local/mysql” ディレクトリにインストールされていることを想定。
- MySQL 5.7.9 のインストールに使用したソースは “/usr/local/src/mysql-5.7.9” ディレクトリに存在することを想定。
1. 必要ライブラリのインストール
# yum -y install groonga-devel groonga-normalizer-mysql
形態素解析エンジン MeCab をトークナイザとして使用するなら MeCab もインストールする。(groonga-tokenizer-mecab を yum インストールしていれば、依存性の関係でインストールされているはず)
その他、ビルドに必要な make
等も未インストールならインストールしておく。
2. ソースの取得
アーカイブを取得・展開し、ディレクトリを移動する。
# /usr/local/src
# wget http://packages.groonga.org/source/mroonga/mroonga-5.10.tar.gz
# tar zxvf mroonga-5.10.tar.gz
# cd mroonga-5.10
3. Makefile の生成
# ./configure \
--with-mysql-source=/usr/local/src/mysql-5.7.9 \
--with-mysql-build=/usr/local/src/mysql-5.7.9 \
--with-mysql-config=/usr/local/mysql/bin/mysql_config
4. ビルド
# make
5. インストール
# make install
6. MySQL への Mroonga プラグインの適用
MySQL サーバが起動していることを確認してから以下を実行する。
# mysql -u root < /usr/local/share/mroonga/install.sql
... does not exist
のメッセージが出力されるかもしれないが問題ない。(おそらく)
7. Mroonga 導入の確認
MySQL サーバに root でログインして確認してみる。
mysql> SHOW ENGINES;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| Mroonga | YES | CJK-ready fulltext search, column store | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
10 rows in set (0.01 sec)
Mroonga
行が存在することを確認する。
その他、 Mroonga の簡単な使用方法は以下の過去記事等を参照。
8. 参考サイト
以上。
Comments