mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

MySQL - InnoDB エンジンが起動しない場合!

[ サーバ構築 ] [ MySQL ]

こんばんは。

MySQL はデフォルトでは InnoDB エンジンが有効化されます。 個人で使用するには InnoDB エンジンでも不便はありませんが、より高速に処理させたい場合などに MyISAM エンジンに変更したりします。 デフォルトで MyISAM エンジンが有効になるように設定ファイル(my.cnf or my.ini)に

1
default-storage-engine=MyISAM

と記述したりしていると思います。

トランザクション処理が使えたり使えなかったり、更新処理がテーブル単位になったりレコード単位になったり、使い方によって一長一短です。

そして、MySQL インストール後に InnoDB エンジンから MyISAM エンジンに変更した場合などには、MySQL サーバ起動時に以下のようなエラーメッセージが出力される場合があります。

1
2
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 エンジンは起動時に有効になりません。

1
2
3
skip-innodb
# または
innodb=OFF

以上です。

Comments