sql >> Database >  >> RDS >> Mysql

mysql Fatale fout:kan geen geheugen toewijzen voor de bufferpool

TLDR;

Mysql kan niet opnieuw opstarten omdat er onvoldoende geheugen is. Controleer of u een geschikt swapbestand hebt geconfigureerd.

Heeft u niet geholpen? Als dat niet jouw probleem is, zijn meer gekwalificeerde vragen om verder te gaan met onderzoek:

Achtergrond

Ik had precies dit probleem op het allereerste systeem dat ik op EC2 had ingesteld, gekenmerkt door het feit dat de daar gehoste WordPress-site af en toe uitviel met "Fout bij het maken van een databaseverbinding".

De logs toonden dezelfde fout die de OP heeft gepost. Mijn lezing van de fout (tijdstempels verwijderd) is:

  • Fout onvoldoende geheugen: InnoDB: Fatal error: cannot allocate memory for the buffer pool
  • InnoDB kan niet starten zonder voldoende geheugen [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 wordt afgesloten, wat in deze context betekent dat het niet opnieuw kan worden opgestart! [Note] /usr/sbin/mysqld: Shutdown complete

Controleren van /var/log/syslog en zoeken naar mysql opbrengsten:

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>

Opmerking:het kan zijn dat u gearchiveerde logboeken moet zippen en doorzoeken als de fout is opgetreden voordat de logboeken door cron werden geroteerd.

Oplossing

In mijn geval was het onderliggende probleem dat ik had nagelaten een swapfile te configureren.

Je kunt controleren of je er een hebt geconfigureerd door free -m . uit te voeren .

total used free shared buffers cached Mem: 604340 587364 16976 0 29260 72280 -/+ buffers/cache: 485824 118516 Swap: 0 0 0

In het bovenstaande voorbeeld geeft Swap:0 aan dat er geen swapfile is.

Tutorials over het opzetten van een:

Houd er rekening mee dat groter niet per se beter is! Uit de Ubuntu-gids :

Over de andere antwoorden hier...

The InnoDB memory heap is disabled

Met dank aan:Ruben Schade commentaar

[Note] Plugin 'FEDERATED' is disabled.

Zie:https://stackoverflow.com/a/16470822/2586761



  1. Hoe procent berekenen?

  2. ScaleGrid gerangschikt in top 100 cloudserviceproviders

  3. MySQL:Waarom VARCHAR(20) gebruiken in plaats van VARCHAR(255)?

  4. Tekst of Excel openen of koppelen als gegevensbronnen in Microsoft Access