TLDR;
O MySQL não pode reiniciar porque está sem memória, verifique se você tem um arquivo de troca apropriado configurado.
Não ajudou? Se esse não for o seu problema, perguntas mais qualificadas para continuar a pesquisa são:
- o serviço mysqld para uma vez um dia no servidor ec2
- https://askubuntu. com/questions/422037/optimising-mysql-settings-mysqld-running-out-of-memory
Plano de fundo
Eu tive exatamente esse problema no primeiro sistema que configurei no EC2, caracterizado pelo site wordpress hospedado lá cair de vez em quando com "Erro ao estabelecer conexão com o banco de dados".
Os logs mostraram o mesmo erro que o OP postou. Minha leitura do erro (timestamps removidos) é:
- Erro de falta de memória:
InnoDB: Fatal error: cannot allocate memory for the buffer pool
- O InnoDB não pode iniciar sem memória suficiente
[ERROR] Plugin 'InnoDB' init function returned error. [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. [ERROR] Unknown/unsupported storage engine: InnoDB [ERROR] Aborting
- mysqld está sendo encerrado, o que neste contexto, realmente significa falha ao reiniciar!
[Note] /usr/sbin/mysqld: Shutdown complete
Verificando
/var/log/syslog
e procurando por mysql rendimentos:Out of memory: Kill process 15452 (mysqld) score 93 or sacrifice child
Killed process 15452 (mysqld) total-vm:888672kB, anon-rss:56252kB, file-rss:0kB
init: mysql main process (15452) killed by KILL signal
init: mysql main process ended, respawning
type=1400 audit(1443812767.391:30): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=21984 comm="apparmor_parser"
init: mysql main process (21996) terminated with status 1
init: mysql main process ended, respawning
init: mysql post-start process (21997) terminated with status 1
<repeated>
Nota:você pode ter que fazer gunzip e pesquisar nos logs arquivados se o erro ocorreu antes que os logs fossem girados pelo cron.
Solução
No meu caso, o problema subjacente foi que eu deixei de configurar um arquivo de troca.
Você pode verificar se tem um configurado executando
free -m
.
total used free shared buffers cached
Mem: 604340 587364 16976 0 29260 72280
-/+ buffers/cache: 485824 118516
Swap: 0 0 0
No exemplo acima, Swap:0 indica que não há swapfile.
Tutoriais sobre como configurar um:
- https:// www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04
- https://help.ubuntu.com/community/SwapFaq
Observe que maior não é necessariamente melhor! Do guia do Ubuntu :
Em relação às outras respostas aqui...
The InnoDB memory heap is disabled
Obrigado a:Comentário Ruben Schade
[Note] Plugin 'FEDERATED' is disabled.
Consulte:https://stackoverflow.com/a/16470822/2586761