Praktische Aufzeichnung der Handhabung von MySQL-Problemen beim automatischen Herunterfahren

Praktische Aufzeichnung der Handhabung von MySQL-Problemen beim automatischen Herunterfahren

Ich habe vor Kurzem jemandem bei einem Projekt geholfen und die MySQL-Maschine stoppte nach einer Weile immer automatisch. Zuerst dachte ich, es würde unerwartet anhalten, also habe ich nicht aufgepasst und es manuell neu gestartet. Aber nach zwei Tagen hörte es wieder auf.

Später habe ich das MySQL-Protokoll sorgfältig überprüft:

2020-05-27T10:15:12.569342Z 0 [System] [MY-010116] [Server] /usr/libexec/mysqld (mysqld 8.0.17) gestartet als Prozess 19493
2020-05-27T10:15:14.448256Z 0 [System] [MY-010229] [Server] Wiederherstellung nach Absturz wird gestartet...
2020-05-27T10:15:14.475411Z 0 [System] [MY-010232] [Server] Wiederherstellung nach Absturz abgeschlossen.
2020-05-27T10:15:14.691345Z 0 [Warnung] [MY-010068] [Server] CA-Zertifikat ca.pem ist selbstsigniert.
2020-05-27T10:15:15.677386Z 0 [System] [MY-010931] [Server] /usr/libexec/mysqld: bereit für Verbindungen. Version: „8.0.17“ Socket: „/var/lib/mysql/mysql.sock“ Port: 3306 Quellverteilung.
2020-05-27T10:15:15.951210Z 0 [System] [MY-011323] [Server] X-Plugin bereit für Verbindungen. Socket: '/var/lib/mysql/mysqlx.sock' Bindeadresse: '::' Port: 33060
2020-05-27T11:26:19.955004Z 0 [System] [MY-010116] [Server] /usr/libexec/mysqld (mysqld 8.0.17) gestartet als Prozess 19757
2020-05-27T11:26:20.181302Z 0 [FEHLER] [MY-012681] [InnoDB] mmap(137363456 Bytes) fehlgeschlagen; Fehlernummer 12
2020-05-27T11:26:20.181360Z 1 [FEHLER] [MY-012956] [InnoDB] Speicher für den Pufferpool kann nicht zugewiesen werden
2020-05-27T11:26:20.181379Z 1 [FEHLER] [MY-012930] [InnoDB] Plugin-Initialisierung mit Fehler abgebrochen. Allgemeiner Fehler.
2020-05-27T11:26:20.181401Z 1 [FEHLER] [MY-010334] [Server] DD Storage Engine konnte nicht initialisiert werden
2020-05-27T11:26:20.181543Z 0 [FEHLER] [MY-010020] [Server] Initialisierung des Datenwörterbuchs fehlgeschlagen.
2020-05-27T11:26:20.183642Z 0 [FEHLER] [MY-010119] [Server] Abbruch
2020-05-27T11:26:20.184163Z 0 [System] [MY-010910] [Server] /usr/libexec/mysqld: Herunterfahren abgeschlossen (mysqld 8.0.17) Quellverteilung.

Die obige Meldung lautet „Für den Pufferpool kann kein Speicher zugewiesen werden“. Cannot allocate memory for the buffer pool . Ich dachte sofort an unzureichenden Arbeitsspeicher. Diese Maschine hat 1 GB Arbeitsspeicher und führt Nginx und PHP-FPM aus.

Durch die Verwendung von top sah ich, dass mysqld 48 % des Speichers verwendete. Der Speicherverbrauch ist immer noch ziemlich hoch.

Natürlich wäre eine Aufrüstung der Maschinenkonfiguration eine bessere Lösung, aber die Mittel sind schließlich begrenzt. Fügen wir also zunächst einen Swap-Speicherplatz hinzu:

dd wenn=/dev/null von=/swapfile bs=1M Anzahl=2048
mkswap /Austauschdatei
swapon /Austauschdatei
systemctl startet mysqld neu

Oben haben wir der Maschine 2 GB Swap-Speicherplatz hinzugefügt. Starten Sie dann mysqld neu. Ich habe top erneut verwendet und festgestellt, dass der Swap-Speicherplatz nach und nach genutzt wurde.

Nach einem Nickerchen wachte ich auf und stellte fest, dass der mysqld-Dienst nicht automatisch beendet wurde und die Speichernutzung auf 22 % gesunken war. Ich schaute mir das Fehlerprotokoll an und es war leer.

Na, es sieht ja gut aus. Beobachten Sie es einfach noch ein paar Tage und wenn es kein Problem gibt, sollte alles in Ordnung sein 😎😎😎.

Dies ist das Ende dieses Artikels zum Umgang mit dem Problem des automatischen Herunterfahrens von MySQL. Weitere relevante Inhalte zum Umgang mit dem automatischen Herunterfahren von MySQL finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Die perfekte Lösung für MySQL automatische Stopp-Plugin FEDERATED ist deaktiviert
  • Lösung zum automatischen Stoppen des MySQL-Dienstes
  • Lösung zum automatischen Neustart von MySQL

<<:  Detaillierte Erklärung dieser Referenz und benutzerdefinierter Eigenschaften in JavaScript

>>:  So implementieren Sie die Ein-Klick-Bereitstellung von NFS unter Linux

Artikel empfehlen

JS-Dekorationsmuster und TypeScript-Dekoratoren

Inhaltsverzeichnis Einführung in das Decorator-Mu...

Lokale MySQL-Installation und Problemlösung

Vorwort Dieser Artikel ist ziemlich ausführlich u...

Neue Funktionen in MySQL 8.0 - Einführung in Check Constraints

Inhaltsverzeichnis Vorwort Einschränkungen prüfen...

Detaillierte Erklärung zur Verwendung von ElementUI in Vue

Anmeldung + SessionStorage Effektanzeige Nach ein...

Berechnung des Prozentwerts, wenn die CSS-Positionseigenschaft absolut ist

Wenn die Position absolut ist, wird der Prozentsa...

So ändern Sie Port 3389 des Remotedesktops von Windows Server 2008 R2

Die Standardportnummer des Remotedesktops des Win...

Auszeichnungssprache - für

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...

Implementierung integrierter Module und benutzerdefinierter Module in Node.js

1. Commonjs Commonjs ist ein benutzerdefiniertes ...

Detaillierte Erklärung des Docker Compose-Orchestrierungstools

Docker Compose Docker Compose ist ein Tool zum De...

So erstellen Sie ein php-nginx-alpine-Image von Grund auf in Docker

Obwohl ich bereits einige Projekte in einer Docke...

Eine kurze Diskussion über vier Lösungen für Vue Single Page SEO

Inhaltsverzeichnis 1.Bereitstellung der serversei...