home wiki.fukuchiharuki.me
Menu

キーワード

  • MySQL
  • InnoDB
  • buffer pool

現象

mysqldが立ちあがらない。

Starting MySQL..The server quit without updating PID file(***.pid).

原因

コマンド実行時のメッセージは罠。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 の初期化ができなかったということらしい。

対策

メモリサイズ指定を小さくします。

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

参考