У меня есть некоторые проблемы с моей базой данных MySQL.

Я настроил сервер с базой данных и другими сервисами (apache, php) и поставил запуск нескольких приложений. Есть две проблемы:

  1. Каждый день в одно и то же время сбой MySQL, и я должен пойти и перезапустить его.
  2. Каждый раз, когда я многократно перезагружаю веб-сайт, MySQL дает сбой, и мне снова нужно его перезапустить.

Логи MySQL показывают:

140107  0:09:29 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use$
140107  0:09:29 [Note] Plugin 'FEDERATED' is disabled.
140107  0:09:29 InnoDB: The InnoDB memory heap is disabled
140107  0:09:29 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140107  0:09:29 InnoDB: Compressed tables use zlib 1.2.3.4
140107  0:09:29 InnoDB: Initializing buffer pool, size = 64.0M
InnoDB: mmap(68681728 bytes) failed; errno 12
140107  0:09:29 InnoDB: Completed initialization of buffer pool
140107  0:09:29 InnoDB: Fatal error: cannot allocate memory for the buffer pool
140107  0:09:29 [ERROR] Plugin 'InnoDB' init function returned error.
140107  0:09:29 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
140107  0:09:29 [ERROR] Unknown/unsupported storage engine: InnoDB
140107  0:09:29 [ERROR] Aborting
140107  0:09:29 [Note] /usr/sbin/myqld: Shutdown complete

Как это исправить?

1 ответ1

1
InnoDB: mmap(68681728 bytes) failed; errno 12

---

$ perror 12
OS error code  12:  Cannot allocate memory

Вы исчерпали память. Если возможно, добавьте больше оперативной памяти на сервер. В противном случае вам следует изменить настройки базы данных, чтобы уменьшить использование памяти. Обмен приведет только к снижению производительности. Чтобы узнать, сколько памяти используется, запустите на консоли команду free .

Более подробная информация доступна в этом потоке переполнения стека: максимальное использование памяти MySQL

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .