home wiki.fukuchiharuki.me
Menu
*キーワード [#f5a41435]
-MySQL
-InnoDB
-buffer pool

*関連 [#v6d67dfb]
-[[障害メモ/MySQLにログインできない「Can't get hostname for your address」]]

*現象 [#q716fff0]
mysqldが立ちあがらない。
 Starting MySQL..The server quit without updating PID file(***.pid).

*原因 [#o03bafd9]
コマンド実行時のメッセージは罠。pidが作れないとかそんなことではない。

ログを見ます。
-mysql-error.log
 130703  0:16:23 InnoDB: The InnoDB memory heap is disabled
 130703  0:16:23 InnoDB: Mutexes and rw_locks use GCC atomic builtins
 130703  0:16:23 InnoDB: Compressed tables use zlib 1.2.3
 130703  0:16:23 InnoDB: Initializing buffer pool, size = 4.0G
 InnoDB: mmap(4395630592 bytes) failed; errno 12
 130703  0:16:23 InnoDB: Completed initialization of buffer pool
 130703  0:16:23 InnoDB: Fatal error: cannot allocate memory for the buffer pool
 130703  0:16:23 [ERROR] Plugin 'InnoDB' init function returned error.
 130703  0:16:23 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
 130703  0:16:23 [ERROR] Unknown/unsupported storage engine: InnoDB
 130703  0:16:23 [ERROR] Aborting

メモリサイズ指定が大きすぎて buffer pool の初期化ができなかったということらしい。

''※今回はこうだった、というだけで別の ERROR もあり得ます''

*対策 [#w5a6cd97]
メモリサイズ指定を小さくします。

-/etc/my.cnf
 #innodb_buffer_pool_size = 4096M
 innodb_buffer_pool_size = 1024M

*参考 [#b869aaf2]
-[[MySQLのメモリ関係>http://m97087yh.seesaa.net/archives/20090107-1.html]]