tmegos blog

Web developer

Mroongaアップデート後にすること

年に一度のうるう肉の日でMroongaをアップデートしたあとにやったことをメモ

症状

MySQLが立ち上がらなくなっていた。
Mroongaが有効になっていなかった(以下のようなエラーになってしまう)。

mysql> select mroonga_command("tokenize TokenMecab 'テスト'");
ERROR 1305 (42000): FUNCTION hoge_db.mroonga_command does not exist

対応

  1. my.cnfからMroonga独自の設定をコメントアウト
    私の場合は、
    mroonga_default_parser=TokenMecab
    コメントアウトしました。
  2. MySQLを再起動(/etc/init.d/mysqld start
  3. /etc/share/mroonga/install.sqlを実行 上を実行することで、Mroongaのモジュールが有効になる
  4. 1.でコメントアウトした設定をコメントイン
  5. MySQLを再起動(/etc/init.d/mysqld restart

原因

MySQLとMroongaをアップデートした時、MySQLからMroongaのモジュールが外れる。
その状態でMySQLを起動しようとすると、my.cnfに記述されたMroongaの独自設定がエラーになって起動しなくなる。

通常yumMySQLとMroongaをインストールしていればこのあたりは自動的にやってくれる。 しかし、my.cnfにMroongaの独自設定をしているとMySQL再起動時にコケるのでMroongaのモジュール追加の作業が必要になる