MySQL-Fehler – Der Server hat ohne Aktualisierung der PID-Datei beendet.
Der Fehler “Der Server hat beendet, ohne die PID-Datei zu aktualisieren” tritt normalerweise auf, wenn MySQL nicht richtig startet oder unerwartet herunterfährt. Die PID (Process ID) Datei ist eine kleine Datei, die von MySQL verwendet wird, um ihre Prozess-ID zu verfolgen, und sie wird typischerweise im MySQL-Datenverzeichnis gespeichert. Wenn MySQL diese Datei nicht erstellen oder aktualisieren kann, kann dies auf ein Problem mit der Konfiguration, den Berechtigungen oder anderen zugrunde liegenden Problemen hinweisen.
Hier ist ein Leitfaden zur Fehlersuche und Behebung dieses Fehlers:
Häufige Ursachen des Fehlers
- Falsche MySQL-Konfiguration: Fehler in der my.cnf-Konfigurationsdatei können dazu führen, dass MySQL nicht startet.
- Datei- und Verzeichnisberechtigungen: Falscher Besitz oder falsche Berechtigungen auf MySQL-Datenverzeichnissen oder -dateien.
- Speicherplatzprobleme: Ein voller Datenträger oder begrenzter Speicherplatz auf der Partition, auf der MySQL installiert ist, kann verhindern, dass MySQL startet.
- Beschädigte MySQL-Tabellen: Korruption in den MySQL-Datendateien kann ebenfalls zu Startproblemen führen.
- Mehrere Instanzen: Wenn mehrere MySQL- oder MariaDB-Instanzen gleichzeitig versuchen zu laufen, können sie miteinander in Konflikt geraten.
Schritt-für-Schritt-Behebung des Fehlers
- Überprüfen Sie das MySQL-Fehlerprotokoll. Das Fehlerprotokoll liefert oft die meisten Informationen darüber, warum MySQL nicht gestartet werden konnte. Suchen Sie das MySQL-Fehlerprotokoll (normalerweise mysql.err oder mysqld.log):
cat /var/log/mysql/error.logSuchen Sie nach spezifischen Fehlern oder Nachrichten, die darauf hinweisen, warum MySQL gestoppt wurde.
- Überprüfen Sie den Speicherort der PID-Datei. Die Fehlermeldung erwähnt den Speicherort der PID-Datei. Überprüfen Sie, ob das Verzeichnis der PID-Datei existiert und ob MySQL die Berechtigung hat, darin zu schreiben. Überprüfen Sie die my.cnf-Konfigurationsdatei, um den erwarteten Speicherort der PID-Datei zu finden:
sudo nano /etc/mysql/my.cnfSuchen Sie nach einer Zeile wie:
pid-file = /var/run/mysqld/mysqld.pidStellen Sie sicher, dass das Verzeichnis existiert:
sudo mkdir -p /var/run/mysqldSetzen Sie den entsprechenden Besitz:
sudo chown mysql:mysql /var/run/mysqld - Überprüfen Sie die Datei- und Verzeichnisberechtigungen. Stellen Sie sicher, dass MySQL den richtigen Besitz und die richtigen Berechtigungen für das Datenverzeichnis und dessen Dateien hat:
sudo chown -R mysql:mysql /var/lib/mysqlsudo chmod -R 755 /var/lib/mysqlDies gewährt MySQL Lese- und Schreibberechtigungen für sein eigenes Datenverzeichnis.
- Stellen Sie sicher, dass genügend Speicherplatz vorhanden ist. Überprüfen Sie, ob genügend freier Speicherplatz auf der Partition vorhanden ist, auf der MySQL installiert ist:
df -hWenn die Festplatte voll ist, müssen Sie möglicherweise etwas Speicherplatz freigeben, bevor Sie MySQL neu starten.
- Überprüfen Sie auf mehrere Instanzen. Wenn eine andere MySQL- oder MariaDB-Instanz läuft, kann dies zu Konflikten führen. Stoppen Sie alle laufenden Instanzen:
sudo systemctl stop mysqlsudo systemctl stop mariadbBeenden Sie alle verbleibenden MySQL-Prozesse:
sudo killall -9 mysqld - Reparieren Sie MySQL-Tabellen. Wenn das Fehlerprotokoll auf Tabellenkorruption hinweist, versuchen Sie, die Tabellen zu reparieren:
sudo mysqlcheck --all-databases --repair --user=root --passwordErsetzen Sie root durch Ihren MySQL-Benutzernamen.
- Beheben Sie MySQL-Konfigurationsprobleme. Wenn es Probleme mit der my.cnf-Konfigurationsdatei gibt, versuchen Sie, problematische Zeilen auszukommentieren oder zur Standardkonfiguration zurückzukehren. Machen Sie eine Sicherung der aktuellen my.cnf:
sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.backupKommentieren Sie benutzerdefinierte Einstellungen aus oder entfernen Sie sie und starten Sie MySQL neu:
sudo nano /etc/mysql/my.cnf - Starten Sie MySQL neu. Nachdem Sie die erforderlichen Änderungen vorgenommen haben, versuchen Sie, MySQL neu zu starten:
sudo systemctl restart mysqlOder für Systeme, die den Dienst verwenden:
sudo service mysql restartÜberprüfen Sie den Status, um sicherzustellen, dass es läuft:
sudo systemctl status mysql - MySQL neu installieren (letzter Ausweg). Wenn keine der oben genannten Schritte funktioniert, können Sie als letzten Ausweg versuchen, MySQL neu zu installieren. Dies kann zu Datenverlust führen, wenn kein Backup verfügbar ist, also stellen Sie sicher, dass Sie wichtige Datenbanken sichern, bevor Sie fortfahren:
sudo apt-get remove --purge mysql-server mysql-client mysql-commonsudo apt-get autoremovesudo apt-get autocleanDann, installieren Sie MySQL neu:
sudo apt-get install mysql-server
Fazit
Der Fehler “Der Server hat beendet, ohne die PID-Datei zu aktualisieren” kann behoben werden, indem die Konfigurationsdateien überprüft, die Berechtigungen verifiziert, genügend Speicherplatz sichergestellt und alle zugrunde liegenden Konflikte korrigiert werden. Indem Sie die oben genannten Schritte befolgen, sollten Sie in der Lage sein, die Ursache des Fehlers zu identifizieren und Ihren MySQL-Server wieder zum Laufen zu bringen. Denken Sie immer daran, Ihre Datenbanken zu sichern, bevor Sie größere Änderungen vornehmen oder MySQL neu installieren, um Datenverlust zu vermeiden.
