MySQL ist ein weit verbreitetes relationales Datenbankmanagementsystem (RDBMS), aber wie jede komplexe Software kann es zu Fehlern kommen, die den normalen Betrieb stören können. Ein solches Problem ist der Fehler:
Der Server wurde beendet, ohne die PID-Datei zu aktualisieren
Dieser Fehler deutet darauf hin, dass MySQL nicht richtig gestartet wurde und die Prozess-ID-Datei (PID) nicht aktualisiert hat, die für die Verfolgung der laufenden Instanz des Servers entscheidend ist. Im Folgenden werden wir die möglichen Ursachen für dieses Problem und die Methoden zu seiner Behebung untersuchen.
my.cnf
(der MySQL-Konfigurationsdatei) können dazu führen, dass MySQL beim Start nicht startet. Falsche Pfade für Logs, Datenverzeichnisse oder Socket-Dateien sind häufig die Ursache.Führen Sie den folgenden Befehl aus, um zu prüfen, ob die Festplatte voll ist:
df -h
Wenn die Festplatte voll ist, geben Sie Speicherplatz frei, indem Sie unnötige Dateien löschen oder die Festplatte vergrößern.
Untersuchen Sie die Fehlerprotokolle von MySQL, um die Grundursache zu ermitteln:
tail -f /var/log/mysql/error.log
Oder, bei einigen Distributionen:
tail -f /var/log/mysqld.log
Vergewissern Sie sich, dass MySQL die korrekten Eigentums- und Zugriffsrechte hat:
sudo chown -R mysql:mysql /var/lib/mysql
sudo chmod -R 755 /var/lib/mysql
Stellen Sie außerdem sicher, dass das Verzeichnis /var/run/mysqld/
existiert:
sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld
Wenn Sie eine Beschädigung vermuten, versuchen Sie Folgendes
sudo mysqlcheck --all-databases
Oder versuchen Sie, MySQL im Wiederherstellungsmodus neu zu starten:
sudo mysqld_safe --skip-grant-tables --skip-networking &
(my.cnf
)Prüfen Sie auf falsche Konfigurationen:
cat /etc/mysql/my.cnf
Suchen Sie nach falsch konfigurierten Pfaden oder widersprüchlichen Einstellungen. Stellen Sie ggf. eine Standardkonfiguration wieder her.
Wenn ein alter MySQL-Prozess läuft, beenden Sie ihn:
sudo pkill -9 mysqld
Versuchen Sie dann, MySQL neu zu starten:
sudo systemctl start mysql
Deaktivieren Sie SELinux vorübergehend:
sudo setenforce 0
Für AppArmor versuchen Sie, das MySQL-Profil zu entladen:
sudo aa-complain /etc/apparmor.d/usr.sbin.mysqld
Wenn alles andere fehlschlägt, installieren Sie MySQL neu:
sudo apt remove --purge mysql-server
sudo apt install mysql-server
Stellen Sie sicher, dass Sie Ihre Daten sichern, bevor Sie eine Neuinstallation versuchen.
Der Fehler “Der Server wurde beendet, ohne die PID-Datei zu aktualisieren” in MySQL kann verschiedene Ursachen haben, z. B. Probleme mit Berechtigungen, beschädigte Datendateien, Konfigurationsfehler oder zu wenig Speicherplatz. Durch eine systematische Fehlersuche bei jeder möglichen Ursache und die Anwendung der entsprechenden Korrekturen können Sie die Funktionalität von MySQL wiederherstellen und ein zukünftiges Auftreten dieses Problems verhindern. Regelmäßige Wartung, ordnungsgemäßes Herunterfahren und Überwachung können helfen, ähnliche Probleme in Zukunft zu vermeiden.