TLDR;
Mysql kan ikke genstarte, fordi den er løbet tør for hukommelse. Tjek, at du har konfigureret en passende swapfil.
hjalp det ikke? Hvis det ikke er dit problem, er mere kvalificerede spørgsmål til at fortsætte forskningen:
- mysqld-tjenesten stopper én gang en dag på ec2 server
- https://askubuntu. com/questions/422037/optimising-mysql-settings-mysqld-running-out-of-memory
Baggrund
Jeg havde præcis dette problem på det allerførste system, jeg satte op på EC2, kendetegnet ved, at wordpress-siden, der blev hostet dér, af og til gik ned med "Fejl ved etablering af databaseforbindelse".
Logfilerne viste den samme fejl, som OP'en sendte. Min læsning af fejlen (tidsstempler fjernet) er:
- Fejl uden hukommelse:
InnoDB: Fatal error: cannot allocate memory for the buffer pool
- InnoDB kan ikke starte uden nok hukommelse
[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 lukker ned, hvilket i denne sammenhæng virkelig betyder, at man ikke kan genstarte!
[Note] /usr/sbin/mysqld: Shutdown complete
Kontrollerer /var/log/syslog
og søger efter mysql giver:
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>
Bemærk:du skal muligvis gunzip og søge gennem arkiverede logfiler, hvis fejlen opstod, før logfilerne blev roteret af cron.
Løsning
I mit tilfælde var det underliggende problem, at jeg havde forsømt at konfigurere en swapfil.
Du kan tjekke om du har en konfigureret ved at køre free -m
.
total used free shared buffers cached
Mem: 604340 587364 16976 0 29260 72280
-/+ buffers/cache: 485824 118516
Swap: 0 0 0
I eksemplet ovenfor angiver Swap:0 ingen swapfil.
Selvstudier om opsætning af en:
- https:// www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04
- https://help.ubuntu.com/community/SwapFaq
Bemærk, at større ikke nødvendigvis er bedre! Fra Ubuntu-vejledningen :
Angående de andre svar her...
The InnoDB memory heap is disabled
Tak til:Ruben Schade kommentar
[Note] Plugin 'FEDERATED' is disabled.
Se:https://stackoverflow.com/a/16470822/2586761