InnoDB: Fatal error: cannot allocate memory for the buffer pool

Гость | 9 марта 2017, 15:36 | 1

Вижу в логах mysql.log

InnoDB: Fatal error: cannot allocate memory for the buffer pool

‘wp_options’ is marked as crashed and should be repaired

Что это такое, как исправить и избежать подобных проблем в дальнейшем?


MySQL

Решения

MySQL InnoDB не хватает выделенной оперативной памяти.
Откройте /etc/mysql/my.cnf и добавьте в секции [mysqld]:

[mysqld]
#
# * Fine Tuning
#
innodb_buffer_pool_size = 10M

Здесь выделено 10 мегабайт оперативки под InnoDB. Это временная мера, попробуйте разобраться в причинах проблемы и устранить узкие места, так как с увеличением нагрузки на сервер размер буфера лучше будет увеличить.

Также, возможно, нужно определить своп (3 команды в консоль):

dd if=/dev/zero of=/swapfile bs=1M count=1024
mkswap /swapfile
swapon /swapfile

В файл /etc/fstab добавляем строку

/swapfile swap swap defaults 0 0

И, конечно, команда, чтобы восстановить (repair) все разрушенные (crushed) таблицы MySQL:

mysqlcheck -A --auto-repair