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?

11voto

Ich habe alle oben genannten Antworten ausprobiert, aber es hat bei mir nicht funktioniert. Also habe ich schließlich den folgenden Ansatz ausprobiert und er funktioniert zu 100% für mich.

Wenn Sie besorgt sind, die folgenden Schritte zu befolgen, können Sie zur Sicherheit eine Sicherung des gesamten XAMPP-Ordners erstellen.

Schritt 1: Benennen Sie den Ordner c:\xampp\mysql\data in c:\xampp\mysql\data_bkp um

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

Schritt 3: Kopieren Sie den Inhalt, der sich im Ordner c:\xampp\mysql\backup befindet, in den neuen Ordner c:\xampp\mysql\data.

Schritt 4: Kopieren Sie alle Ihre Datenbankordner c:\xampp\mysql\data_bkp in c:\xampp\mysql\data (Hinweis: Kopieren Sie nicht die Ordner mysql, performance_schema und phpmyadmin).

Schritt 5: Kopieren Sie die Datei ibdata1 aus dem Ordner c:\xampp\mysql\data_bkp und ersetzen Sie sie im Ordner c:\xampp\mysql\data.

Schritt 6: Starten Sie MySQL über das XAMPP-Bedienfeld.

10voto

SITHU Punkte 163

Ich habe auch mit diesem Problem konfrontiert und so habe ich es gelöst.
1. Stellen Sie sicher, dass xampp nicht unter einem Unterverzeichnis liegt. Zum Beispiel sollte es C:\xampp sein.
2. Möglicherweise müssen Sie die Anwendung als Administrator ausführen.

Hoffentlich funktioniert das!

8voto

Hasitha Punkte 129

STOP! Bitte löschen Sie die Datei ibdata1 NICHT!

Das Löschen dieser Datei ist wie Russisches Roulette mit Ihren Datenbanken zu spielen - es könnte funktionieren und alles wiederherstellen, aber es könnte auch alle Ihre Datenbanken unbrauchbar machen.

Versuchen Sie stattdessen zuerst den MySQL backup Ordner zu verwenden, der mit XAMPP geliefert wird. So geht es weiter:

  • Benennen Sie den Ordner mysql/data in mysql/data_old um (Sie können jeden Namen verwenden)
  • Erstellen Sie einen neuen Ordner mysql/data
  • Kopieren Sie den Inhalt, der sich in mysql/backup befindet, in den neuen mysql/data Ordner
  • Kopieren Sie alle Ihre Datenbankordner, die sich in mysql/data_old befinden, in mysql/data (überspringen Sie dabei die Ordner mysql, performance_schema und phpmyadmin aus data_old)

Zuletzt:

  • Kopieren Sie die Datei ibdata1 aus mysql/data_old und ersetzen Sie sie im mysql/data Ordner
  • Starten Sie MySQL von der XAMPP-Steuerung

8voto

Jayant Rajwani Punkte 597
  1. Verschieben Sie die Dateien von xampp/mysql/backup nach xampp/mysql/data
  2. FÜHREN Sie XAMPP als Administrator aus (stellen Sie sicher, dass MySQL installiert ist. Sie können ein grünes Häkchen sehen, wenn es installiert ist) Listenelement

Ich hoffe, es hilft!

7voto

Sobhan Punkte 776

In meinem Fall habe ich folgende Schritte unternommen und es hat funktioniert:

  1. Im Xampp-Control-Panel auf die Schaltfläche "Dienste" in der rechten Seitenleiste klicken

  2. Dann "MySQL" aus der Dienstliste finden

  3. Darauf klicken und auf der linken Seite des Panels auf "stop" klicken

  4. Zurück im Xampp-Control-Panel klicken Sie auf "start".

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