TLDR;
Mysql kan inte starta om eftersom det är slut på minne, kontrollera att du har en lämplig swapfil konfigurerad.
Hjälpte det inte? Om det inte är ditt problem, är mer kvalificerade frågor för att fortsätta forskningen:
- mysqld-tjänsten stannar en gång en dag på ec2-server
- https://askubuntu. com/questions/422037/optimising-mysql-settings-mysqld-running-out-of-memory
Bakgrund
Jag hade exakt det här problemet på det allra första systemet jag satte upp på EC2, kännetecknat av att wordpress-sidan som hölls där gick ner ibland med "Fel vid upprättande av databasanslutning".
Loggarna visade samma fel som OP postade. Min läsning av felet (tidsstämplar borttagna) är:
- Fel utan minne:
InnoDB: Fatal error: cannot allocate memory for the buffer pool
- InnoDB kan inte starta utan tillräckligt med minne
[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 stängs av, vilket i det här sammanhanget verkligen betyder att man misslyckas med att starta om!
[Note] /usr/sbin/mysqld: Shutdown complete
Kontrollerar /var/log/syslog
och söker efter mysql ger:
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>
Obs:du kan behöva gunzip och söka igenom arkiverade loggar om felet inträffade innan loggarna roterades med cron.
Lösning
I mitt fall var det underliggande problemet att jag hade försummat att konfigurera en swapfil.
Du kan kontrollera om du har en konfigurerad genom att köra free -m
.
total used free shared buffers cached
Mem: 604340 587364 16976 0 29260 72280
-/+ buffers/cache: 485824 118516
Swap: 0 0 0
I exemplet ovan anger Swap:0 ingen swapfil.
Handledningar om hur du ställer in en:
- https:// www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04
- https://help.ubuntu.com/community/SwapFaq
Observera att större inte nödvändigtvis är bättre! Från Ubuntu-guiden :
Angående de andra svaren här...
The InnoDB memory heap is disabled
Tack vare:Ruben Schade kommentar
[Note] Plugin 'FEDERATED' is disabled.
Se:https://stackoverflow.com/a/16470822/2586761