O MySQL falha com o erro: Erro fatal: não é possível alocar memória para o buffer pool
imprimir- 0
Sintomas
- O Plesk não está acessível:
Error 2002. ERROR: PleskDBException: Unable to connect to database: mysql_connect(): Connection refused /var/run/mysqld/mysqld.sock (Error code: 2002)
O MySQL trava intermitentemente. Há um erro no/var/log/mysqld.log
arquivo:InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
InnoDB: Completed initialization of buffer pool
InnoDB: Fatal error: 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
Causa
O tamanho do buffer do MySQL é maior que a RAM livre disponível no servidor.
Resolução
Entre em contato com o administrador do sistema para alocar mais RAM para o servidor.
Como solução temporária:
- Conecte-se ao servidor usando SSH .
- Verifique quanta RAM livre existe no servidor:
# free -hm
total used free shared buffers cached
Mem: 1.0G 122M 901M 92K 0B 61M
-/+ buffers/cache: 61M 962M
Swap: 1.0G 0B 1.0G - Defina o tamanho do buffer pool do MySQL em
/etc/my.cnf
menos do que a quantidade de RAM livre:innodb_buffer_pool_size=100M
- Reinicie o serviço MySQL:
# service mysqld restart || service mysql restart || service mariadb restart