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

MySql implementiert die Seitenabfragefunktion

Zunächst müssen wir klarstellen, warum wir pagini...

Verwenden Sie reines CSS, um einen Scroll-Schatteneffekt zu erzielen

Um es gleich auf den Punkt zu bringen: Bei manche...

So verwenden Sie js zur Kommunikation zwischen zwei HTML-Fenstern

Szenario: Wenn Seite A Seite B öffnet, muss Seite...

Detaillierte Erklärung zur Verwendung von MySQL-Gruppenlinks

Gruppieren und Verknüpfen sind in MySQL die beide...

Reagiert auf verschiedene Arten, Parameter zu übergeben

Inhaltsverzeichnis Übergeben von Parametern zwisc...

Frage zur Webseitenerstellung: Bilddateipfad

Dieser Artikel stammt ursprünglich von 123WORDPRE...

Spezifische Verwendung des MySQL-Parameters binlog_ignore_db

Vorwort: Nach dem Studium des vorherigen Artikels...

Vergleich der Vorteile von vue3 und vue2

Inhaltsverzeichnis Vorteil 1: Optimierung des Dif...

Detaillierte Erklärung zur Überwachung von MySQL-Anweisungen

Schnelles Lesen Warum müssen wir SQL-Anweisungen ...

js realisiert bidirektionale Datenbindung (Accessor-Überwachung)

In diesem Artikelbeispiel wird der spezifische Co...