Назад | Перейти на главную страницу

InnoDB: фатальная ошибка: невозможно выделить память для буферного пула

Кажется, что MySQL дает сбой довольно часто, я бы сказал, примерно каждый час.

Единственное, что работает на этом сервере, который использует MySQL, - это установка Drupal, над которой я работаю, ее использует только один человек, и у нее буквально около трех страниц - из того, что я могу понять, это похоже на проблему с памятью. innoDB? Я не очень хорош в этом деле, поэтому я не уверен.

Любое руководство? Вот соответствующие части из моего error.log

140216 14:20:01 [Note] Plugin 'FEDERATED' is disabled.
140216 14:20:01 InnoDB: The InnoDB memory heap is disabled
140216 14:20:01 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140216 14:20:01 InnoDB: Compressed tables use zlib 1.2.3.4
140216 14:20:01 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(135987200 bytes) failed; errno 12
140216 14:20:01 InnoDB: Completed initialization of buffer pool
140216 14:20:01 InnoDB: Fatal error: cannot allocate memory for the buffer pool
140216 14:20:01 [ERROR] Plugin 'InnoDB' init function returned error.
140216 14:20:01 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
140216 14:20:01 [ERROR] Unknown/unsupported storage engine: InnoDB
140216 14:20:01 [ERROR] Aborting

140216 14:20:01 [Note] /usr/sbin/mysqld: Shutdown complete

140216 14:20:02 [Note] Plugin 'FEDERATED' is disabled.
140216 14:20:02 InnoDB: The InnoDB memory heap is disabled
140216 14:20:02 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140216 14:20:02 InnoDB: Compressed tables use zlib 1.2.3.4
140216 14:20:02 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(135987200 bytes) failed; errno 12
140216 14:20:02 InnoDB: Completed initialization of buffer pool
140216 14:20:02 InnoDB: Fatal error: cannot allocate memory for the buffer pool
140216 14:20:02 [ERROR] Plugin 'InnoDB' init function returned error.
140216 14:20:02 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
140216 14:20:02 [ERROR] Unknown/unsupported storage engine: InnoDB
140216 14:20:02 [ERROR] Aborting

140216 14:20:02 [Note] /usr/sbin/mysqld: Shutdown complete

РЕДАКТИРОВАТЬ
Это сервер DigitalOcean Droplet с самыми низкими характеристиками и 512 МБ ОЗУ. Эта конкретная дроплет работает под управлением NodeJS, MySQL и Apache. Есть статический сайт с низким трафиком, блог Ghost и сайт на Drupal, который я разрабатываю.

Должен ли я просто обновить оперативную память или я могу что-то сделать, чтобы это исправить?

MySQL не запускается, потому что он не может выделить 128 МБ для буферного пула InnoDB.

Вы должны либо установить меньшее значение innodb_buffer_pool_size, либо ограничить количество процессов Apache, чтобы они не использовали всю память. У меня была такая же проблема, и я описал ее в блог