Ошибка MySQL - InnoDB - Fatal error - cannot allocate memory for the buffer pool

Ошибка MySQL - InnoDB - Fatal error - cannot allocate memory for the buffer pool

Roman Bogachev VMware Specialist | Drone Pilot | Traveler

Исправление ошибки “InnoDB - Fatal error - cannot allocate memory for the buffer pool”

При запуске демона mysqld сервис не стартует, а в логах наблюдаем ошибку:

1
2
3
4
5
6
7
8
9
...
2014-07-08 04:15:29 11433 [Note] InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
2014-07-08 04:15:29 11433 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2014-07-08 04:15:29 11433 [ERROR] Plugin 'InnoDB' init function returned error.
2014-07-08 04:15:29 11433 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2014-07-08 04:15:29 11433 [ERROR] Unknown/unsupported storage engine: InnoDB
2014-07-08 04:15:29 11433 [ERROR] Aborting
...

Оказалось, что проблема частая, особенно на серверах с маленькой памятью.

В идеале , если используются InnoDB таблицы, то innodb_buffer_pool_size надо делать как можно больше.

Но что делать, если сервер слабенький?
Тогда просто устанавливаем innodb_buffer_pool_size меньше!

1
2
[mysqld]
innodb_buffer_pool_size = 10M

или

1
performance_schema=off
On this page