itochin2の日記(仮)

主に備忘録。Perl、MySQL、Unity、開発管理などについて情報を残していきたい。

mysqldが落ちてた時の対応メモ

開発環境のmysqldが死んでいた。
その時に確認した内容と対応の備忘録。

エラーログを確認する

/usr/local/mysql/var/mysql.err

WE ROLL BACK TRANSACTION (1)

140306 08:25:16 mysqld_safe Number of processes running now: 0
140306 08:25:17 mysqld_safe mysqld restarted
140306 8:25:18 [Note] Plugin 'FEDERATED' is disabled.
140306 8:25:18 InnoDB: The InnoDB memory heap is disabled
140306 8:25:18 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140306 8:25:18 InnoDB: Compressed tables use zlib 1.2.3
140306 8:25:18 InnoDB: Initializing buffer pool, size = 2.0G
InnoDB: mmap(2197815296 bytes) failed; errno 12
140306 8:25:18 InnoDB: Completed initialization of buffer pool
140306 8:25:18 InnoDB: Fatal error: cannot allocate memory for the buffer pool
140306 8:25:18 [ERROR] Plugin 'InnoDB' init function returned error.
140306 8:25:18 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
140306 8:25:18 [ERROR] Unknown/unsupported storage engine: InnoDB
140306 8:25:18 [ERROR] Aborting

140306 8:25:18 [Note] /usr/local/mysql55/sbin/mysqld: Shutdown complete


innodb_buffer_pool_size」を2G割り当てようとしているけど、メモリ確保に失敗して
STORAGE ENGINEがUnknownと言っている。

対応

確保するメモリを減らした。
/etc/my.cnfの「innodb_buffer_pool_size」を1Gに設定
そして再起動。

/etc/init.d/mysqld stop
/etc/init.d/mysqld start

その他

しかし何が原因でメモリ確保に失敗したのかは不明。。
レコードロックしている風なログがあったけど、それでメモリ食いつくすのかなぁ。
あとで確認する。