LMDE 3 - Mroonga インストール(ソースビルド)!

Updated:


LMDE 3 (Linux Mint Debian Edition 3) 上の MariaDB 10.3.9 に全文検索エンジン Groonga の機能を実現するストレージエンジン Mroonga をソースをビルドしてインストールする方法についての記録です。

0. 前提条件

  • LMDE 3 (Linux Mint Debian Edition 3; 64bit) での作業を想定。
  • 当記事執筆時点で最新の Mroonga 8.06 をインストールする。
  • ここでは、全文検索がどういうものかという説明はしない。
  • Apt パッケージのインストールには apt-getaptitude コマンドでなく apt コマンドを使用する。

1. apt リポジトリの追加

今回はソースをビルドしてインストールするので、本来は apt リポジトリの追加は不要であるが、関連するパッケージのインストールに使用するため、追加しておく。

File: /etc/apt/sources.list.d/groonga.list

1
2
deb https://packages.groonga.org/debian/ stretch main
deb-src https://packages.groonga.org/debian/ stretch main

そして、パッケージリストを更新する。

$ sudo apt update

GPG 公開鍵エラーが出る場合は、過去記事「Linux Mint - apt-get update で GPG 公開鍵エラー!」を参照のこと。

2. 必要ライブラリのインストール

Groonga 開発ライブラリをインストール。

$ sudo apt install -y libgroonga-dev

トクーナイザとして MeCab を使用する場合は、次を実行。(当方は実行)

# sudo apt install -y -V groonga-tokenizer-mecab

トークンフィルタとして TokeFilterStem を使用する場合は、次を実行。(当方は実行)

# sudo apt install -y -V groonga-token-filter-stem

ノーマライザとして groonga-normalizer-mysql を使用する場合は、次を実行。(当方は実行)

$ sudo apt install -y -V groonga-normalizer-mysql

3. Mroonga アーカイブの取得&展開

$ wget https://packages.groonga.org/source/mroonga/mroonga-8.06.tar.gz
$ tar xvzf mroonga-8.06.tar.gz

4. Makefile の生成

$ cd mroonga-8.06
$ ./configure \
 --with-mysql-source=/home/etc/softs/db/mariadb-10.3.9 \
 --with-mysql-build=/home/etc/softs/db/build-mariadb \
 --with-mysql-config=/usr/local/mysql/bin/mysql_config

[](

  • groonga を apt インストールした場合は PKG_CONFIG_PATH=/usr/local/lib/pkgconfig は不要
  • .configure--with-default-tokenizer=TokenMecab は指定しないほうがよい。当方の場合 )

5. ビルド

$ make -j$(grep '^processor' /proc/cpuinfo | wc -l)

make-j$(grep '^processor' /proc/cpuinfo | wc -l) の部分はプロセッサ数が明確なら -j4 のように指定してもよい。
速度を気にしないのなら単に make のみでもよい。

6. インストール

$ sudo make install

7. MariaDB への Mroonga プラグインの適用

MariaDB サーバが起動していることを確認してから以下を実行する。

$ mysql -u root -p < /usr/local/share/mroonga/install.sql

... does not exist のメッセージが出力されるかもしれないが問題ない。

8. Mroonga 導入の確認

MariaDB サーバに root でログインして確認してみる。

$ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 10.3.9-MariaDB Source distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

root@localhost:(none) 01:33:09> show engines;
+--------------------+---------+----------------------------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                       | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------------------------+--------------+------+------------+
| MRG_MyISAM         | YES     | Collection of identical MyISAM tables                                       | NO           | NO   | NO         |
| CSV                | YES     | Stores tables as CSV files                                       | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables                        | NO           | NO   | NO         |
| MyISAM             | YES     | Non-transactional engine with good performance and small data footprint          | NO           | NO   | NO         |
| Aria               | YES     | Crash-safe tables with MyISAM heritage                                       | NO           | NO   | NO         |
| Mroonga            | YES     | CJK-ready fulltext search, column store                                       | NO           | NO   | NO         |
| InnoDB             | DEFAULT | Supports transactions, row-level locking,foreign keys and encryption for tables | YES          | YES  | YES        |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                       | NO           | NO   | NO         |
| SEQUENCE           | YES     | Generated tables filled with sequential values                                   | YES          | NO   | YES        |
+--------------------+---------+----------------------------------------------------------------------------------+--------------+------+------------+
9 rows in set (0.000 sec)

root@localhost:(none) 01:33:27>

Mroonga 行が存在することを確認する。

その他、 Mroonga の簡単な使用方法は以下の過去記事等を参照。

9. 参考サイト


以上、





 

Sponsored Link

 

Comments