mysql: Unknown table engine ‘InnoDB’

MySQL サーバ(Ver. 5.1)を再起動したら、InnoDB のテーブルにアクセスできなくなりました。


show variables like 'have_innodb';

で調べると InnoDB エンジンが有効になっていません。設定を変更した覚えはないのに。

エラーログを見ると次のようなエラーが記録されていました。


./ib_logfile0 is of different size 0 134217728 bytes
than specified in the .cnf file 0 67108864 bytes!

ネットには ib_logfile0 を消すという対処法も書いてありましたが、運用中のサーバであり怖かったので、my.cnf を現実に合わせることにしました。


#innodb_log_file_size = 64M
innodb_log_file_size = 128M

これでOKでした。

でも、なぜこんな食い違いが起きたんでしょうかね。以前書き換えたのに再起動しなかったのかもしれません。それとも、勝手に増える?