Y-Ken Studio

新しもの好きのデータエンジニアが四方山話をお届けします。

mroongaで「API version for STORAGE ENGINE plugin is too different」というエラーが起きたときの対処法

以下のエラーが起きてしまった時の対処法を紹介します。

2013-06-04 17:36:01 21440 [ERROR] Can't open shared library 'ha_mroonga.so' (errno: 0 API version for STORAGE ENGINE plugin is too different)

mroongaのプラグインインストール時に起きた場合

MySQLとの組み合わせで問題が発生しているようです。
まずはインストールガイドをご確認ください。
MySQLのインストールに使うrpmパッケージは、remiリポジトリなどの派生版ではなく、
オラクル本家のバージョンを使いましょう。
CentOS-6.x に MySQL-5.6.x と mroonga の最新版を数分で入れる方法 が参考になるかもしれません。

間違えてMySQLのバージョンを上げてしまった場合

MySQLを元のバージョンにダウングレードしましょう。
再び起動すれば、テーブルが壊れること無くこれまで通り使えます。

CentOSなら、ダウングレードにyum downgradeコマンドを使うと良いでしょう。
例えば MySQL-5.6.11 にするなら、以下のコマンドです。

yum --disableexclude=all downgrade \
  http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.11-2.el6.x86_64.rpm \
  http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-shared-5.6.11-2.el6.x86_64.rpm \
  http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-server-5.6.11-2.el6.x86_64.rpm \
  http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-devel-5.6.11-2.el6.x86_64.rpm \
  http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-client-5.6.11-2.el6.x86_64.rpm

併せて読みたい

MySQL の INSTALL PLUGIN に失敗する時の処方箋(mroonga-1.20編)
http://d.hatena.ne.jp/yoshi-ken/20120204