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

So konfigurieren Sie die virtuelle Benutzeranmeldung in vsftpd

yum installiere vsftpd [root@localhost usw.]# yum...

Detaillierte Erklärung der Meta-Tags und ihrer Verwendung in HTML

Ich werde keine weitere Zeit mit Unsinnsgerede ve...

8 leistungsstarke Techniken zum Erstellen von HTML-Webseiten

<br />Es gibt zwar viele Tools zum Erstellen...

Tutorial zur Installation von MYSQL8.X auf Centos

MySQL-Installation (4, 5, 6 können weggelassen we...

So verwenden Sie tcpdump zum Erfassen von Paketen im Linux-System

Lassen Sie mich zunächst einen Blick auf den Beis...

JavaScript implementiert eine einzelne verknüpfte Listenprozessanalyse

Vorwort: Zum Speichern mehrerer Elemente sind Arr...

So installieren und konfigurieren Sie GitLab unter Ubuntu 20.04

einführen GitLab CE oder Community Edition ist ei...