Debian 11 (bullseye) - Mroonga インストール(ソースビルド)!
Updated:
Debian GNU/Linux 11 (bullseye) 上に全文検索エンジン Mroonga をインストールする方法についての記録です。
以前古いバージョンでの作業時に残していた記録を参考に作業を行い、今回更新した作業記録を貼付する形式の内容となっています。
(当然ながら、興味がなければスルーしてください)
0. 前提条件
- Debian GNU/Linux 11.0.0 (bullseye; 64bit) での作業を想定。
- 当記事執筆時点で最新の Mroonga 11.06 をインストールする。
- Groonga 11.0.6 がインストール済みであることを想定。
(参照「Debian 11 (bullseye) - 全文検索エンジン Groonga インストール(by Groonga 公式リポジトリ)!」) - MariaDB 10.5.12 をソースをビルドしてインストールしていること。(Mroonga のビルドに MySQL のソースが必要なため。MariaDB をパッケージでインストールしている場合にも、ソースが必要となる)
(参照「Debian 11 (bullseye) - MariaDB 10.5 サーバ構築(ソースビルド)!」) - MariaDB 10.5.12 は
/usr/local/mysql
ディレクトリにインストールされていることを想定。 - MariaDB 10.5.12 のインストールに使用したソースは
/usr/local/src/mariadb-10.5.12
ディレクトリに存在することを想定。 - MariaDB 10.5.12 のビルド用ディレクトリは
/usr/local/src/build-mariadb
であることを想定。 - 環境の相違等のために以下の方法ではうまく行かないこともあるだろう。
ログを確認して適宜対処すること。
1. 必要ライブラリのインストール
Groonga 開発ライブラリをインストール。
# apt -y install libgroonga-dev
トクーナイザとして MeCab を使用する予定があるなら、次を実行。(当方は実行)
# apt -y -V install groonga-tokenizer-mecab
トークンフィルタとして TokeFilterStem を使用する予定があるなら、次を実行。(当方は実行)
# apt -y -V install groonga-token-filter-stem
ノーマライザとして groonga-normalizer-mysql を使用する予定があるなら、次を実行。(当方は実行)
# apt -y -V install groonga-normalizer-mysql
2. ソースの取得
アーカイブファイルを取得、展開後、ディレクトリを移動しておく。(ダウンロード先は一般ユーザホームディレクトリとした)
# cd /usr/local/src
# wget http://packages.groonga.org/source/mroonga/mroonga-11.06.tar.gz
# tar xvf mroonga-11.06.tar.gz
3. Makefile の生成
# cd mroonga-11.06
# ./configure \
--with-mysql-source=/usr/local/src/mariadb-10.5.12 \
--with-mysql-build=/usr/local/src/build-mariadb \
--with-mysql-config=/usr/local/mysql/bin/mysql_config
4. ビルド&インストール
# make -j$(grep '^processor' /proc/cpuinfo | wc -l)
# make install
make
の -j$(grep '^processor' /proc/cpuinfo | wc -l)
の部分はプロセッサ数が明確なら -j4
のように指定してもよいし、速度を気にしないのなら単に make
のみでもよい。
5. MariaDB への Mroonga プラグインの適用
MariaDB サーバが起動していることを確認してから以下を実行する。
# mariadb -u root < /usr/local/share/mroonga/install.sql
mariadb
コマンドは mysql
でもよい。
... does not exist
のメッセージが出力されるかもしれないが問題ない。(おそらく)
6. Mroonga 導入の確認
MariaDB サーバに root でログインして確認してみる。
$ mariadb -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 15
Server version: 10.5.12-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) 16:48:05> show engines;
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
| CSV | YES | Stores tables as CSV files | NO | NO | NO |
| MRG_MyISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| Aria | YES | Crash-safe tables with MyISAM heritage. Used for internal temporary tables and privilege tables | NO | NO | NO |
| MyISAM | YES | Non-transactional engine with good performance and small data footprint | NO | NO | NO |
| SEQUENCE | YES | Generated tables filled with sequential values | YES | NO | YES |
| Mroonga | YES | CJK-ready fulltext search, column store | NO | NO | NO |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| InnoDB | DEFAULT | Supports transactions, row-level locking, foreign keys and encryption for tables | YES | YES | YES |
+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+
9 rows in set (0.056 sec)
root@localhost:(none) 16:48:18> exit
Bye
Mroonga
行が存在することを確認する。
その他、 Mroonga の簡単な使用方法は以下の過去記事等を参照。
7. 参考サイト
以上。
Comments