Wie behebt man den Fehler „MySQL wurde unerwartet beendet“ und stellt Datenbanken schnell wieder her?

XAMPP ist eine Open-Source-Webserver-Lösung für die Entwicklung und Verwaltung von Webanwendungen auf Ihrem lokalen System. Sie umfasst verschiedene Komponenten, darunter Apache, MariaDB und MySQL Server. Manchmal kann beim Zugriff auf den MySQL-Server im XAMPP-Kontrollfeld ein Fehler mit der Meldung „MySQL wurde unerwartet beendet“ auftreten, wodurch MySQL nicht gestartet werden kann. Dieser Fehler tritt in der Regel aufgrund einer Beschädigung von InnoDB-Speicher-Engine-Dateien wie ibdata1, ib_logfile0 oder anderen datenbankbezogenen Dateien auf. Es kann viele andere Gründe für diesen Fehler geben, wie zum Beispiel: 

  • Unsachgemäßes Herunterfahren von XAMPP. 
  • Unvollständige Updates von XAMPP/MySQL Server.
  • Konflikte mit MySQL-Ports (z. B. 3306) oder im Hintergrund ausgeführten Diensten.
  • Sie greifen nicht mit Administratorrechten auf XAMPP zu.

In diesem Artikel werden wir wirksame Methoden zur Behebung des Fehlers „MySQL wurde unerwartet beendet” untersuchen und Stellar Repair for MySQL als Lösung zur Reparatur beschädigter Datenbanken – einschließlich Tabellen, Schlüsseln und Triggern – auf XAMPP vorstellen. 

Fehlerbehebungsmethoden zur Behebung des Fehlers „MySQL wurde unerwartet beendet“

Der Fehler „MySQL wurde unerwartet beendet“ kann auftreten, wenn Sie XAMPP nicht mit Administratorrechten ausführen. Stellen Sie sicher, dass Sie die Datei xampp_control.exe mit Administratorrechten ausgeführt haben. Ist dies nicht der Fall, befolgen Sie die unten aufgeführten Methoden.

Methode 1: MySQL-Portkonflikt überprüfen und beheben

Der MySQL-Server verwendet standardmäßig den Port 3306. Wenn eine andere Anwendung denselben Port verwendet, kann der Fehler „MySQL wurde unerwartet beendet“ in XAMPP auftreten. Sie können die Portnummer mit der Option „netstat“ im XAMPP-Kontrollfeld überprüfen. 

Öffnen Sie das XAMPP-Kontrollfeld und suchen Sie die Option „Netstat”. Sie sehen eine Liste mit Portnummern. Suchen Sie den Port 3306. Wenn dieser von einem anderen Programm verwendet wird, müssen Sie die MySQL-Portnummer in XAMPP ändern. Führen Sie dazu die folgenden Schritte aus:

  • Klicken Sie im XAMPP-Kontrollfeld auf „Config“.
  • Suchen Sie die Portnummer 3306 in der Konfigurationsdatei (my.ini) und ersetzen Sie sie durch die Portnummer 3307. 
  • Speichern Sie die vorgenommenen Änderungen und schließen Sie die Konfigurationsdatei. 

Methode 2: Zurücksetzen der InnoDB-Protokolldateien

Die InnoDB-Dateien, wie beispielsweise ibdata1 und ib_logfile0, enthalten Transaktionsprotokolle und Tablespace-Daten. Wenn solche Dateien beschädigt werden, kann der Fehler „MySQL shutdown unexpectedly” auftreten. Sie können diese Dateien aus der Konfigurationsdatei löschen. Wenn Sie diese Dateien löschen, erstellt der Server neue Dateien. Gehen Sie dazu wie folgt vor:

  • Suchen Sie die Konfigurationsdatei. Der Standardpfad lautet:

C:\xampp\mysql\data\

  • Suchen Sie dann die Dateien „ibdata1”, „ib_logfile0” und „ib_logfile1” und löschen Sie sie.
  • Starten Sie MySQL über XAMPP neu.

Hinweis: Diese Methode funktioniert möglicherweise nicht, wenn die einzelne Tabellendatei, 

  1. B. die .ibd- oder .frm-Datei, beschädigt ist.

Methode 3: Beschädigte InnoDB-Tabellen reparieren

Manchmal tritt der Fehler „MySQL wurde unerwartet beendet” auf, wenn der MySQL-Server eine Beschädigung der InnoDB-Tabellendateien feststellt. Wenn die .idb- oder .frm-Dateien beschädigt sind, können Sie die Option innoDB_force_recovery verwenden, um den Server zum Starten zu zwingen. Gehen Sie dazu in die Konfigurationsdatei Ihres Systems und setzen Sie den Wert innodb_force_recovery auf 1, um die Option zu aktivieren (siehe Beispiel unten). 

[mysqld]

Innodb_force_recovery=1

service mysql restart

Hinweis: Sie können den Wert von innodb_force_recovery von 1 auf 6 ändern und erhöhen. Die Einstellung eines Wertes größer als 4 kann jedoch zu Datenverlusten führen. 

Nachdem Sie die Option „innodb_force_recovery” aktiviert haben, können Sie den Server im Modus der Datenrettung starten. Führen Sie anschließend die folgenden Schritte aus, um die InnoDB-Tabellen mit der Dump- und Reload-Methode zu reparieren:

  • Führen Sie zuerst den folgenden Befehl aus, um die Daten aus der Tabelle zu sichern:

mysqldump -u user -p database_name table_name > single_dbtable_dump.sql

  • Führen Sie anschließend den folgenden Befehl aus, um alle Datenbanken in die Datei dump.sql zu exportieren:

mysqldump –all-databases –add-drop-database –add-drop-table > dump.sql

  • Starten Sie anschließend Ihren Server neu und löschen Sie die Datenbank.
  • Deaktivieren Sie anschließend den InnoDB-Datenrettung-Modus in der Konfigurationsdatei. Fügen Sie dazu ein # in die folgende Zeile ein:

#innodb_force_recovery=…

  • Speichern Sie die Änderungen und starten Sie Ihr System neu.

Dadurch werden die InnoDB-Datenbanken repariert. Sie können überprüfen, ob die wiederhergestellten Datenbanken die Dateien .idb und .frm enthalten.

Um schwer beschädigte InnoDB-Tabellen ohne Datenverlust zu reparieren, können Sie ein zuverlässiges MySQL-Datenbankreparaturtool wie Stellar Repair for MySQL verwenden. Es kann MySQL-Datenbankdateien ohne Dateigrößenbeschränkungen reparieren und alle Objekte aus beschädigten InnoDB-Tabellen mit vollständiger Datenbankintegrität wiederherstellen. Es unterstützt auch die selektive Datenrettung von Datenbankobjekten. Sie können die reparierte Datei in verschiedenen Formaten speichern, z. B. MySQL, MariaDB, HTML und CSV. 

Fazit

Der Fehler „MySQL wurde unerwartet beendet” kann aus verschiedenen Gründen auftreten. In diesem Artikel haben wir die Methoden zur Behebung des Fehlers erläutert. Wenn die Beschädigung der InnoDB-Tabellendateien die Ursache für diesen Fehler ist, können Sie die Transaktionsprotokolldateien zurücksetzen oder die InnoDB-Tabellendateien mit der Dump-and-Reload-Methode reparieren. Um Zeit und Aufwand zu sparen, können Sie ein professionelles MySQL-Reparaturtool wie Stellar Repair for MySQL verwenden, um die beschädigten oder fehlerhaften MySQL-Datenbankdateien zu reparieren. Es ist sowohl mit Windows- als auch mit Linux-Betriebssystemen kompatibel.

Fokusthemen.de

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button