496 Stimmen

Wie löse ich den Fehler "Error: MySQL wurde unerwartet heruntergefahren"?

Wenn ich XAMPP öffne und auf die Schaltfläche "MySQL starten" klicke, erhalte ich einen Fehler. Ich hatte es gerade erst gestartet, aber jetzt funktioniert es nicht.

12:19:12 PM [mysql] Versuche MySQL-App zu starten...
12:19:12 PM [mysql] Statusänderung erkannt: läuft
12:19:13 PM [mysql] Statusänderung erkannt: gestoppt
12:19:13 PM [mysql] Fehler: MySQL unerwartet beendet.
12:19:13 PM [mysql] Dies könnte auf einen blockierten Port, fehlende Abhängigkeiten, falsche Berechtigungen, einen Absturz oder ein Herunterfahren durch eine andere Methode zurückzuführen sein.
12:19:13 PM [mysql] Drücken Sie die Schaltfläche Protokolle, um Fehlerprotokolle anzuzeigen und überprüfen
12:19:13 PM [mysql] den Windows Event Viewer für weitere Hinweise.
12:19:13 PM [mysql] Wenn Sie weitere Hilfe benötigen, kopieren Sie dieses
12:19:13 PM [mysql] gesamte Protokollfenster und posten Sie es in den Foren

Hier ist der Inhalt des Fehlerprotokolls:

2013-08-02 12:19:12 4536 [Hinweis] Plugin 'FEDERATED' ist deaktiviert.
2013-08-02 12:19:12 f64 InnoDB: Warnung: Die Verwendung von innodb_additional_mem_pool_size ist VERALTET. Diese Option kann in zukünftigen Versionen zusammen mit der Option innodb_use_sys_malloc und dem internen Speicheralloktor von InnoDB entfernt werden.
2013-08-02 12:19:12 4536 [Hinweis] InnoDB: Der InnoDB-Speicherhaufen ist deaktiviert.
2013-08-02 12:19:12 4536 [Hinweis] InnoDB: Mutexe und rw_locks verwenden Windows-interne Funktionen
2013-08-02 12:19:12 4536 [Hinweis] InnoDB: Komprimierte Tabellen verwenden zlib 1.2.3
2013-08-02 12:19:12 4536 [Hinweis] InnoDB: Keine Verwendung von CPU crc32-Anweisungen
2013-08-02 12:19:12 4536 [Hinweis] InnoDB: Initialisierung des Pufferpools, Größe = 16,0M
2013-08-02 12:19:12 4536 [Hinweis] InnoDB: Initialisierung des Pufferpools abgeschlossen
2013-08-02 12:19:12 4536 [Hinweis] InnoDB: Höchst unterstütztes Dateiformat ist Barracuda.
2013-08-02 12:19:12 4536 [Hinweis] InnoDB: Die Log-Sequenznummern 0 und 0 in ibdata-Dateien stimmen nicht mit der Log-Sequenznummer 1616798 in den ib_logfiles überein!
2013-08-02 12:19:12 4536 [Hinweis] InnoDB: Die Datenbank wurde nicht ordnungsgemäß heruntergefahren!
2013-08-02 12:19:12 4536 [Hinweis] InnoDB: Starte Crash-Recovery.
2013-08-02 12:19:12 4536 [Hinweis] InnoDB: Lese Tablespace-Informationen aus den .ibd-Dateien...

Die wichtigste Fehlermeldung lautet hier:

2013-08-02 12:19:12 4536 [FEHLER] InnoDB:
Versuchte, einen zuvor geöffneten Tablespace zu öffnen.
Vorheriger Tablespace mysql/innodb_table_stats verwendet die Space-ID: 1 im Dateipfad: .\mysql\innodb_table_stats.ibd.
Kann Tablespace xat/payments nicht öffnen, der die Space-ID: 1 im Dateipfad: .\xat\payments.ibd verwendet

Der Rest des Protokolls:

InnoDB: Fehler: Die einzelne Tabellen-Tablespace-Datei .\xat\payments.ibd konnte nicht geöffnet werden
InnoDB: Wir setzen die Crash-Recovery nicht fort, da die Tabelle beschädigt werden könnte
InnoDB: wenn wir die Logdatensätze im InnoDB-Log nicht darauf anwenden können.
InnoDB: Um das Problem zu lösen und mysqld zu starten:
InnoDB: 1) Wenn es ein Berechtigungsproblem in der Datei gibt und mysqld die
InnoDB: Datei nicht öffnen kann, sollten Sie die Berechtigungen ändern.
InnoDB: 2) Wenn die Tabelle nicht benötigt wird oder Sie sie aus einem Backup wiederherstellen können,
InnoDB: können Sie die .ibd-Datei entfernen, und InnoDB wird eine normale
InnoDB: Crash-Recovery durchführen und diese Tabelle ignorieren.
InnoDB: 3) Wenn das Dateisystem oder die Festplatte defekt ist und Sie die
InnoDB: .ibd-Datei nicht entfernen können, können Sie innodb_force_recovery > 0 in my.cnf setzen
InnoDB: und InnoDB zwingen, die Crash-Recovery fortzusetzen.

Was ist die Ursache dieser Fehler und wie kann ich sie beheben?

1881voto

Fabrizio Valencia Punkte 14999

WICHTIG: Löschen Sie NICHT die Datei ibdata1. Sie könnten alle Ihre Datenbanken zerstören.

Versuchen Sie stattdessen zunächst, den MySQL-Backup-Ordner zu verwenden, der Bestandteil von XAMPP ist. Gehen Sie also wie folgt vor:

  1. Benennen Sie den Ordner mysql/data in mysql/data_old um
  2. Erstellen Sie eine Kopie des Ordners mysql/backup und benennen Sie diese als mysql/data
  3. Kopieren Sie alle Ihre Datenbankordner aus mysql/data_old in mysql/data (außer den Ordnern mysql, performance_schema und phpmyadmin)
  4. Kopieren Sie die Datei mysql/data_old/ibdata1 in den Ordner mysql/data
  5. Starten Sie MySQL aus der XAMPP-Steuerung

Und voilà!

BEARBEITEN (7. Januar 2023)

Wie von einigen Benutzern erwähnt, handelt es sich hierbei um eine Notlösung und nicht um eine dauerhafte. Nachdem Sie Ihre Daten wiederhergestellt haben, wird dringend empfohlen, ein Backup durchzuführen und XAMPP neu zu installieren, da der Fehler mit einer Fehlfunktion einiger Dateien von XAMPP zusammenhängt und nicht mit den Datenbanken.

227voto

Kratos Punkte 2735

WICHTIG Das Löschen dieser Datei kann vorhandene MySQL-Daten unbrauchbar machen. Verwenden Sie es mit Vorsicht

Hey, ich habe das gerade gemacht und es hat funktioniert:

  1. exit Xampp-Server
  2. Gehen Sie zu Ihrem C:\xampp\mysql\data Verzeichnis
  3. löschen Sie die Datei ibdata1
  4. starten Sie den Xampp-Server neu

Es sollte funktionieren

119voto

Dexter Punkte 5430

Aug 2023

Haftungsausschluss

Obwohl viele Leute sagten 'es hat funktioniert' und nur sehr wenige sagen 'es hat nicht funktioniert'.

Es ist schwer zu sagen, was die Ursache sein könnte und warum es nicht funktioniert. Persönlich hat die unten angegebene Lösung für mich funktioniert und ich hatte bis jetzt keine Probleme, deshalb teile ich dies.

Ich empfehle nicht, zu deinstallieren, also sichern Sie einfach die Datei und probieren Sie diese Lösung aus. Falls es nicht funktioniert, platzieren Sie diese Dateien einfach wieder zurück.

Funktionierte auf anderen Versionen

Dieses Problem tritt auch bei anderen xampp-Versionen auf.
Ich habe es persönlich nicht getestet, aber einige Benutzer haben es.
(Wenn Sie es auf einer anderen Version getestet haben, lassen Sie es mich in den Kommentaren wissen, ich werde es hier hinzufügen)

  • XAMPP v8.1.6 - Saeid Z
  • XAMPP v7.4.16 - CapelliC
  • XAMPP v3.3.0 - Myself

Feb 2022 (Problem)

Ich hatte heute (2. Feb 2022) dasselbe Problem.
Ich habe dies mithilfe derselben Lösung behoben, die ich weiter unten erwähnt habe (Siehe Dez 2021 (Lösung))

XAMPP Problem Screenshot

Geben Sie hier eine Bildbeschreibung ein

XAMPP Behoben

Geben Sie hier eine Bildbeschreibung ein

Dez 2021 (Lösung)

Da diese Frage kontinuierlich aktiv ist,
werde ich mein Bestes tun, um sie zu lösen.

Mein Problem

Ich besuche diesen Beitrag jedes Mal, wenn dieses Problem auftritt. Das einzige, was ich versucht habe, war, xampp zu deinstallieren und neu zu installieren, was das Problem gelöst hat. Das war auf meinem alten System.

Ich benutze Windows 10 brandneu ohne unerwünschte Software oder Probleme, und ich hatte nach langer Zeit wieder unerwartete Abstürze. Ich kam zu dieser Frage, in der Hoffnung, dass mir jemand wirklich sagt, was passiert, anstatt nur diese Probleme zu beheben. Aber leider konnte ich es nicht finden.

Nur um klarzustellen, mein neues Problem hat nichts mit

  • Port
  • unerwarteten Abstürzen
  • hängendem Windows
  • unerwünschter Software
  • Virus oder Malware zu tun.

Eines Tages schaltete ich xampp ein, und es funktionierte nicht.

Methode 1 (22 Dez 2021)

  1. Stoppen Sie MySQL.
  2. Gehen Sie zum Verzeichnis C:/xampp/mysql und kopieren Sie den Ordner data und sichern Sie ihn an einem anderen Ort (wahrscheinlich auf einem anderen Laufwerk).
  3. Gehen Sie zu Ihrem Originalverzeichnis data (C:/xampp/mysql) und sortieren Sie die Dateien nach 'Typ.'
  4. Wählen Sie die Dateien aus, die den Typ INFO File haben, und löschen Sie sie (Screenshot unten).
  5. Starten Sie MySQL. Es sollte jetzt funktionieren.

Methode 1 Screenshot

Geben Sie hier eine Bildbeschreibung ein

Wichtig

Nicht unbedingt wird die oben genannte Lösung immer das Problem beheben. Manchmal wird es nicht funktionieren. Um das Risiko eines Datenverlusts zu vermeiden, versuchen Sie Folgendes.

  • Aktivieren Sie MySQL im Kontrollfeld NUR WENN ERFORDERLICH.
  • Setzen Sie NICHT das XAMPP-Kontrollfeld auf automatischen Start unter Windows.
  • Sichern Sie die DB, wann immer möglich. Wenn nicht, versuchen Sie, jeden Wochenende ein Backup zu erstellen.
  • Warten Sie, bis Apache vollständig geladen ist. Wenn Sie Apache starten, dauert es ein paar Sekunden, bis er geladen ist (indiziert durch das Sanduhr-Symbol). Sobald es geladen ist, starten Sie MySQL. - aktualisiert im August 2023

PS: Ich werde versuchen, diese Antwort zu aktualisieren, wenn die oben genannte Methode(n) nicht funktionieren. Ich werde versuchen, es auf die einfachste Weise zu erklären, ohne xampp zu deinstallieren.

Lassen Sie mich wissen, ob es bei Ihnen funktioniert hat.

84voto

Mathew Magante Punkte 1031

Wenn die oben genannten Antworten nicht funktionieren, können Sie versuchen, alle Dateien im Ordner 'data' zu löschen, außer für den Ordner.

Gehen Sie in das Verzeichnis: C:\xampp\mysql\data und löschen Sie die folgenden Dateien:

Ein Bild zeigt das Verzeichnis C:\xampp\mysql\data im Windows Explorer. Die ausgewählten Dateien (aber nicht die Ordner) zeigen an, dass diese gelöscht werden sollten. Die Dateien sind aria_log.00000001, aria_log_control, ib_logfile0, ib_logfile1, ibdata1, multi-master.info, mysql.pid und mysql_error.

Danach gehen Sie in das Verzeichnis C:\xampp\mysql\bin und öffnen my.ini in einem Texteditor. Es wird so aussehen:

Ein Bild zeigt den Inhalt von my.ini. Die Zeile(n), in denen die Portinformationen enthalten sind, sind im Bild hervorgehoben.

Dann kommentieren Sie den Port 3306 aus und ändern Sie ihn auf 8111. Führen Sie dann XAMPP mit Administratorrechten aus und es wird funktionieren.

54voto

Rohit Saini Punkte 441

ARBEITSLÖSUNG :- Befolgen Sie die unten aufgeführten Schritte.

Schritt 1. Benennen Sie den Ordner c:\xampp\mysql\data in c:\xampp\mysql\data_bkp um (Sie können jeden Namen verwenden).

Schritt 2. Erstellen Sie einen neuen Ordner c:\xampp\mysql\data.

Schritt 3. Kopieren Sie den Inhalt, der sich in mysql\backup befindet, in den neuen mysql\data-Ordner.

Schritt 4. Kopieren Sie alle Ihre Datenbankordner, die sich in mysql\data_bkp befinden, in mysql\data (überspringen Sie dabei die mysql-, performance_schema- und phpmyadmin-Ordner aus mysql\data_bkp). WICHTIGE NOTIZ :- Bitte ersetzen Sie die vorhandenen Dateien nicht beim Einfügen (klicken Sie auf diese Dateien überspringen) Bildbeschreibung hier eingeben

Schritt 5. Kopieren Sie schließlich die Datei ibdata1 von mysql\data_bkp und ersetzen Sie sie im mysql\data-Ordner.

Schritt 6. Starten Sie MySQL aus der XAMPP-Steuerungstafel.

Und, Es ist erledigt. Keine verlorenen Datenbanken, keine geänderten Ports, kein Ausführen als Administrator, keine Zwangswiederherstellung, kein Beenden des mysqld-Prozesses, kein Wiederherstellen aus früheren Versionen, keine weiteren Fehler.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X