2011-11-21

MySQLでUnknown table engine 'InnoDB'ってエラーが出たよ

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
MySQLでInnoDBのテーブルにクエリーを発行したら

Unknown table engine 'InnoDB'
ってエラーが出ました。

ログにメモリ割り当て失敗のメッセージが出ていたので
my.cnf

innodb_buffer_pool_size
のサイズを小さくすることで解決しました。

今まで別に問題なかったのですが、ある日突然エラーになりました。

私のところでは、毎日1回mysqlを止めてコールドバックアップを取っているのですが、ある日再起動の際にメモリが割り当てられなくなったようです。

どうやらmysqlとはまったく関係ない実験的に回していた別のプログラムでメモリリークしてしまったようで、そのプロセスが大量にメモリを確保してしまったせいでMySQLがメモリが確保できなかったようなのでした。

プロセスをkillした後は、無事にinnodb_buffer_pool_sizeを元のサイズに戻すことができました。

0 件のコメント: