年に一度のうるう肉の日でMroongaをアップデートしたあとにやったことをメモ
症状
MySQLが立ち上がらなくなっていた。
Mroongaが有効になっていなかった(以下のようなエラーになってしまう)。
mysql> select mroonga_command("tokenize TokenMecab 'テスト'"); ERROR 1305 (42000): FUNCTION hoge_db.mroonga_command does not exist
対応
- my.cnfからMroonga独自の設定をコメントアウト
私の場合は、
mroonga_default_parser=TokenMecab
をコメントアウトしました。 - MySQLを再起動(
/etc/init.d/mysqld start
) /etc/share/mroonga/install.sql
を実行 上を実行することで、Mroongaのモジュールが有効になる- 1.でコメントアウトした設定をコメントイン
- MySQLを再起動(
/etc/init.d/mysqld restart
)
原因
MySQLとMroongaをアップデートした時、MySQLからMroongaのモジュールが外れる。
その状態でMySQLを起動しようとすると、my.cnfに記述されたMroongaの独自設定がエラーになって起動しなくなる。
通常yumでMySQLとMroongaをインストールしていればこのあたりは自動的にやってくれる。 しかし、my.cnfにMroongaの独自設定をしているとMySQL再起動時にコケるのでMroongaのモジュール追加の作業が必要になる