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?

1voto

Unique631 Punkte 21

Ich öffne und leere die Datei multi-master.info, die sich im Ordner data befindet. Das hat bei mir funktioniert.

1voto

Thirsty Six Punkte 273

Keine der obigen Lösungen funktioniert nicht. Es funktioniert nur vorübergehend. Nach ein paar Tagen haben wir immer wieder das gleiche Problem. Ich habe jedes Mal alle meine DBs verloren.

Ich kenne die genaue Lösung nicht. Aber, ich führe die 3 einfachen Schritte immer wieder aus.

  1. Benennen Sie den Ordner c:\xampp\mysql\data in c:\xampp\mysql\data_old um (Sie können jeden Namen verwenden).
  2. Erstellen Sie einen neuen "data" Ordner c:\xampp\mysql\data
  3. Kopieren Sie alle Ihre Datenbankordner, die sich in mysql\data_old befinden, in mysql\data

Dann starten Sie MySQL vom XAMPP-Steuerelementpanel aus.

GELÖST!: Ich habe es mit dieser Methode gelöst:

Öffnen Sie die Shell vom Steuerungspanel aus und starten Sie mysql mit diesem Befehl:

mysqld –-console –-skip-grant-tables –-skip-external-locking

Öffnen Sie eine weitere Shell vom Steuerungspanel aus und reparieren Sie die Datenbank mit diesem Befehl:

mysqlcheck -r --databases mysql --use-frm

Stoppen Sie mysql, schließen Sie die Shells und starten Sie mysql normal neu.

Referenz: https://stackoverflow.com/a/60576807/1662058

1voto

Varuna Punkte 158

Für mich war das Problem:

Früher habe ich meinen PC in den Ruhezustand versetzt, anstatt ihn auszuschalten, aufgrund des Umfangs des Projekts. Ich war faul genug, um alle Programme erneut öffnen zu müssen.

Bevor du etwas anderes ausprobierst, empfehle ich dir, die folgenden einfachen Dinge zu tun. Andernfalls wirst du deinen MySQL-Server durcheinander bringen.

  1. Öffne deinen Task-Manager und beende den XAMPP-Prozess.
  2. Führe die XAMPP-Anwendung erneut als Administrator aus.

Wenn das nicht funktioniert,

  1. Speichere alle nicht gespeicherten Programme und starte den PC neu.
  2. Führe XAMPP als Administrator aus.

Vergewissere dich auch, dass du die Ports 3306 & 5040 überprüfst. Diese beiden Ports werden benötigt, um MySQL in den Standardeinstellungen laufen zu lassen.

Sieh dir die Antwort von @Ryan Williams an, um herauszufinden, warum es gut ist, XAMPP als Administrator auszuführen.

1voto

Brijesh Chauhan Punkte 71
Fehler: MySQL wurde unerwartet heruntergefahren

Dies ist die beste Antwort

1)Benennen Sie den Ordner mysql/data in mysql/data\_old um (Sie können jeden Namen verwenden)
2)Erstellen Sie einen neuen Ordner mysql/data
3)Kopieren Sie den Inhalt, der sich in mysql/backup befindet, in den neuen mysql/data-Ordner
4)Kopieren Sie alle Ihre Datenbankordner, die sich in mysql/data\_old befinden, in mysql/data (überspringen Sie die Ordner mysql, performance\_schema und phpmyadmin aus data\_old)
5)Kopieren Sie schließlich die Datei ibdata1 aus mysql/data\_old und ersetzen Sie sie im mysql/data-Ordner
6)Starten Sie MySQL vom XAMPP-Steuerelementpanel

1voto

Ika Punkte 302

Gehen Sie zu C:\xampp\mysql\backup.

Kopieren Sie alle Dateien.

Fügen Sie sie in C:\xampp\mysql\data ein.

Wenn Windows Sie auffordert, einige Dateien zu ersetzen, ersetzen Sie sie.

Wenn Ihr XAMPP Control Panel aktiv ist, schließen Sie es.

Gehen Sie zu C:\xampp und finden Sie xampp-control, führen Sie es aus.

Starten Sie Apache, starten Sie MySQL.


Das ist alles.

Viel Spaß!

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