MySQL - InnoDB エンジンが起動しない場合!
Updated:
MySQL はデフォルトでは InnoDB エンジンが有効化されます。 個人で使用するには InnoDB エンジンでも不便はありませんが、より高速に処理させたい場合などに MyISAM エンジンに変更したりします。 デフォルトで MyISAM エンジンが有効になるように設定ファイル(my.cnf or my.ini)に
default-storage-engine=MyISAM
と記述したりしていると思います。
トランザクション処理が使えたり使えなかったり、更新処理がテーブル単位になったりレコード単位になったり、使い方によって一長一短です。
そして、MySQL インストール後に InnoDB エンジンから MyISAM エンジンに変更した場合などには、MySQL サーバ起動時に以下のようなエラーメッセージが出力される場合があります。
120617 15:11:08 [ERROR] Plugin 'InnoDB' init function returned error.
120617 15:11:08 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
InnoDB エンジンが使えないようです。 MyISAM エンジンを使うのだから InnoDB は使えなくても良いのですが、気持ち悪いので対処します。 ※InnoDB エンジンだけが起動せず MySQL 自体は起動する場合です。MySQL も起動しない場合は他にも原因があるかも知れません。
作業記録
0. 前提条件
MySQL サーバのバージョンは 5.5 系を想定しています。 5.2 系は未確認です。
1. 対処方法
MySQL のデータディレクトリ配下にある ib_logfile* ファイルを削除してから MySQL を起動すればよいです。 ただそれだけです。 InnoDB エンジンを全く使用しないのなら、設定ファイル(my.cnf or my.ini)に以下のように追記しおけば、InnoDB エンジンは起動時に有効になりません。
skip-innodb
# または
innodb=OFF
以上です。
Comments