質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Groonga

Groongaは、カラムストア機能を備えているオープンソースの全文検索エンジンです。大量にある文書から目的のキーワードを含む文書を高速で見つけることができ、全文検索機能を持つ高性能のアプリケーションを開発できます。

Q&A

解決済

2回答

4587閲覧

最新mroonga(5.03)インストールでプラグインのインストールに失敗します。

kaji

総合スコア648

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Groonga

Groongaは、カラムストア機能を備えているオープンソースの全文検索エンジンです。大量にある文書から目的のキーワードを含む文書を高速で見つけることができ、全文検索機能を持つ高性能のアプリケーションを開発できます。

0グッド

2クリップ

投稿2015/05/31 14:53

CentOS 6(Percona Serverパッケージ)でインストールしました。
% sudo yum install -y http://packages.groonga.org/centos/groonga-release-1.1.0-1.noarch.rpm
$ sudo yum install -y http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
% sudo yum makecache
% sudo yum install -y Percona-Server-server-56
% sudo /sbin/service mysql start
% sudo yum install -y percona-server-56-mroonga
mroongaのインストールは成功するのですが、

yum install percona-server-56-mroonga

/usr/bin/mysql -u root -p < /usr/share/mroonga/install.sql
ERROR 1126 (HY000) at line 3: Can't open shared library '/usr/lib64/mysql/plugin/ha_mroonga.so' (errno: 2 /usr/lib64/mysql/plugin/ha_mroonga.so: undefined symbol: grn_ii_estimate_size_for_lexicon_cursor)

プラグインのインストールに失敗してしまいます。
mysql > INSTALL PLUGIN Mroonga SONAME 'ha_mroonga.so';
ERROR 1126 (HY000): Can't open shared library '/usr/lib64/mysql/plugin/ha_mroonga.so' (errno: 2 /usr/lib64/mysql/plugin/ha_mroonga.so: undefined symbol: grn_ii_estimate_size_for_lexicon_cursor)

バージョンは最新で5.03です
yum list installed | grep mroonga
percona-server-56-mroonga.x86_64 5.03-1.el6 @groonga

ha_mroonga.soのバージョンが古いためなのかと思い、いったん削除して再度インストールしましたがダメでした。

ls /usr/lib64/mysql/plugin/ha_mroonga.so

/usr/lib64/mysql/plugin/ha_mroonga.so

rm /usr/lib64/mysql/plugin/ha_mroonga.so

yum remove percona-server-56-mroonga

yum install percona-server-56-mroonga

ERROR 1126 (HY000) at line 3: Can't open shared library '/usr/lib64/mysql/plugin/ha_mroonga.so' (errno: 2 /usr/lib64/mysql/plugin/ha_mroonga.so: undefined symbol: grn_ii_estimate_size_for_lexicon_cursor)

上記とは別にCentOS 6(OracleのMySQLパッケージを利用)
でも同様にエラーとなりました。
% sudo yum install -y http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
% sudo yum makecache
% sudo yum install -y mysql-community-server
% sudo /sbin/service mysqld start
% sudo yum install -y mysql-community-mroonga
ERROR 1126 (HY000) at line 3: Can't open shared library '/usr/lib64/mysql/plugin/ha_mroonga.so' (errno: 2 /usr/lib64/mysql/plugin/ha_mroonga.so: undefined symbol: grn_ii_estimate_size_for_lexicon_cursor)

ご教授ください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

MroongaはGroongaのパッケージに依存しているのですが、Mroongaは最新でもGroongaのバージョンが古いと、上記のようにプラグインのインストールに失敗してしまう可能性があります。

対処方法ですが、

  1. sudo yum updateしてGroongaを更新
  2. MySQLを再起動
  3. mroongaのパッケージを削除 & 再インストール

するとインストールに成功すると思います。

Mroongaが要求するGroongaのバージョンをなおさないと駄目ですね。。。

投稿2015/06/01 05:08

kenhys

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kaji

2015/06/02 06:28

上にまとめて投稿いたしました。
guest

0

ベストアンサー

まず、念のためgroonga-libsパッケージのバージョンを確認してもらえますか?(yum list installedでもいいです。)

% rpm -qa | grep -i groonga

5.0.2以上である必要があります。たぶん、これは大丈夫なはずです。

手順を見るとアップグレードではなく新規インストールだと思いますが、あっていますか?もしアップグレードなら、一度mysqldを再起動することにより問題が解決するはずなんです。

mysqldを再起動すると解決する理由ですが、新しいMroongaは新しいGroongaの新しいAPIを使っています。つまり、新しいMroongaは新しいGroongaと一緒じゃないと動かないということです。

mysqldに一度組み込まれたMroongaは一度uninstallすることでmysqldから外れ、再度installすることで新しいMroongaにアップグレードできますが、残念ながらそれではGroongaはアップグレードできません。mysqldを再起動するまでずっと古いGroongaが組み込まれたままになってしまいます。つまり、新しMroongaと古いGroongaの組み合わせになってしまうということです。ここで出ているエラーはその状態のように見えます。

なので、アップグレードならmysqldを再起動することで解決しそうだなぁという気がしています。

新規インストールなら。。。手元にクリーンなCentOS 6を用意して手順をコピペして試してみたのですが再現しなかったんですよねぇ。。。

投稿2015/06/01 05:21

kou

総合スコア48

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kaji

2015/06/02 06:20

>groonga-libsパッケージのバージョンを確認してもらえますか? $ rpm -qa | grep -i groonga groonga-plugin-suggest-5.0.4-1.el6.x86_64 groonga-normalizer-mysql-devel-1.0.8-1.el6.x86_64 groonga-libs-5.0.4-1.el6.x86_64 groonga-5.0.4-1.el6.x86_64 groonga-tokenizer-mecab-5.0.4-1.el6.x86_64 groonga-release-1.1.0-1.noarch groonga-normalizer-mysql-1.0.8-1.el6.x86_64 $ sudo yum update 以下2つが更新される groonga-normalizer-mysql x86_64 1.1.0-1.el6 groonga 38 k groonga-normalizer-mysql-devel x86_64 1.1.0-1.el6 groonga 3.7 k $ rpm -qa | grep -i groonga groonga-plugin-suggest-5.0.4-1.el6.x86_64 groonga-5.0.4-1.el6.x86_64 groonga-normalizer-mysql-devel-1.1.0-1.el6.x86_64 groonga-libs-5.0.4-1.el6.x86_64 groonga-tokenizer-mecab-5.0.4-1.el6.x86_64 groonga-normalizer-mysql-1.1.0-1.el6.x86_64 groonga-release-1.1.0-1.noarch >手順を見るとアップグレードではなく新規インストールだと思いますが、あっていますか? 以前同一サーバにmroonga4.1.1を入れてましたが、 mysqldなど全て削除して入れ直しました。 >新しMroongaと古いGroongaの組み合わせになってしまうということです groongaバージョンを確認すると4.1.1系がはいってたようです。 $ /usr/bin/groonga --version groonga 4.1.1 [linux-gnu,x86_64,utf8,match-escalation-threshold=0,nfkc,mecab,epoll] このバージョンをアップさせたところ $ /usr/bin/groonga --version groonga 5.0.4 mroongaも無事入りました。 mysql> show engines; | Mroonga 以前いろいろ試行錯誤してたときに旧バージョンをインストールするために、 rpmでなくソースでインストールしたためこのようなことになったようです。 ご返信いただきありがとうございました。お陰でインストールできました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問