13 апр. 2015 г.

Неожиданное поведение mysql

После установки на виртуальную машину mysql не удалось запустить сервис - в логах была только запись об ошибке:

 [Note] InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
 [ERROR] Plugin 'InnoDB' init function returned error.
 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
 [ERROR] Unknown/unsupported storage engine: InnoDB
 [ERROR] Aborting

Установка флага innodb_use_sys_malloс в 0 не принесла никаких результатов. Долгий поиск в интернете навел на мысль о том, что необходимо создать файл подкачки (swap) для нормальной работы mysql:

dd if=/dev/zero of=/swapfile bs=1M count=SWAP_SIZE_MB
mkswap /swapfile
chown root:root /swapfile
chmod 0600 /swapfile
swapon /swapfile
> echo '/swapfile none swap sw 0 0' >> /etc/fstab

Полезные ссылки:
http://ericeastwood.com/blog/14/swap-file-guide-ubuntu
http://serverfault.com/questions/451307/innodb-mysql-plugin-disabled

Комментариев нет: