Wenn ich XAMPP öffne und auf die Schaltfläche MySQL starten klicke, wird ein Fehler angezeigt. Ich hatte es gerade erst angefangen, aber jetzt funktioniert es nicht mehr.
12:19:12 Uhr [mysql] Versuch, die MySQL-App zu starten ...
12:19:12 Uhr [mysql]
Statusänderung erkannt: wird ausgeführt 12:19:13 Uhr [mysql]
Statusänderung erkannt: gestoppt 12:19:13 PM [mysql] Fehler: MySQL wurde unerwartet heruntergefahren.
12:19:13 Uhr [mysql] Dies kann an einem blockierten Port, fehlenden Abhängigkeiten,
12:19:13 Uhr [mysql], unzulässigen Berechtigungen, einem Absturz oder einem Herunterfahren durch eine andere Methode liegen.
12:19:13 Uhr [mysql ]
Klicken Sie auf die Schaltfläche Protokolle, um Fehlerprotokolle anzuzeigen, und überprüfen Sie die Windows-Ereignisanzeige um 12:19:13 Uhr [mysql] auf weitere Hinweise.
12:19:13 Uhr [mysql] Wenn Sie weitere Hilfe benötigen, kopieren und veröffentlichen Sie diese um
12:19 Uhr : 13 PM [mysql] gesamtes Protokollfenster in den Foren
Hier ist der Inhalt des Fehlerprotokolls:
2013-08-02 12:19:12 4536 [Hinweis] Das Plugin 'FEDERATED' ist deaktiviert.
2013-08-02 12:19:12 f64 InnoDB: Warnung: Die Verwendung von innodb_additional_mem_pool_size ist DEPRECATED. Diese Option kann in zukünftigen Versionen zusammen mit der Option innodb_use_sys_malloc und dem internen Speicherzuweiser der InnoDB entfernt werden.
2013-08-02 12:19:12 4536 [Hinweis] InnoDB: Der InnoDB-Speicherheap ist deaktiviert.
2013-08-02 12:19:12 4536 [Hinweis] InnoDB: Mutexe und rw_locks verwenden Windows-Verriegelungsfunktionen
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: Verwenden Sie keine CPU-crc32-Anweisungen
2013-08-02 12:19:12 4536 [Hinweis] InnoDB: Pufferpool wird initialisiert, Größe = 16,0 MB
2013-08-02 12:19:12 4536 [Hinweis] InnoDB: Initialisierung des Pufferpools abgeschlossen
2013-08-02 12:19:12 4536 [Hinweis] InnoDB: Das am höchsten unterstützte Dateiformat ist Barracuda.
2013-08-02 12:19:12 4536 [Hinweis] InnoDB: Die Protokollsequenznummern 0 und 0 in ibdata-Dateien stimmen nicht mit der Protokollsequenznummer 1616798 in den ib_logfiles überein!
2013-08-02 12:19:12 4536 [Hinweis] InnoDB: Datenbank wurde nicht normal heruntergefahren!
2013-08-02 12:19:12 4536 [Hinweis] InnoDB: Starten der Absturzwiederherstellung.
2013-08-02 12:19:12 4536 [Hinweis] InnoDB: Lesen von Tabellenbereichsinformationen aus den .ibd-Dateien ...
Die wichtigste Fehlermeldung ist hier:
2013-08-02 12:19:12 4536 [FEHLER] InnoDB: Es wurde
versucht, einen zuvor geöffneten Tabellenbereich zu öffnen.
Der vorherige Tabellenbereich mysql / innodb_table_stats verwendet die Speicherplatz-ID: 1 im Dateipfad : . \ Mysql \ innodb_table_stats.ibd .
Der Tabellenbereich xat / messages, der die Speicherplatz-ID: 1 im Dateipfad : . \ Xat \ pays.ibd verwendet, kann nicht geöffnet werden
Der Rest des Protokolls:
InnoDB: Fehler: Die Tablespace-Datei mit einer Tabelle konnte nicht geöffnet werden. \ Xat \ messages.ibd
InnoDB: Die Absturzwiederherstellung wird nicht fortgesetzt, da die Tabelle möglicherweise zu
InnoDB: beschädigt wird, wenn die Protokolldatensätze im InnoDB-Protokoll nicht darauf angewendet werden können .
InnoDB: So beheben Sie das Problem und starten mysqld:
InnoDB: 1) Wenn die Datei ein Berechtigungsproblem enthält und mysqld nicht
InnoDB: Öffnen Sie die Datei, sollten Sie die Berechtigungen ändern.
InnoDB: 2) Wenn die Tabelle nicht benötigt wird oder Sie sie aus einer Sicherung wiederherstellen können,
InnoDB: Dann können Sie die .ibd-Datei entfernen, und InnoDB führt eine normale
InnoDB: Absturzwiederherstellung durch und ignoriert diese Tabelle.
InnoDB: 3) Wenn das Dateisystem oder die Festplatte defekt sind und Sie nicht entfernen können
InnoDB: In der .ibd-Datei können Sie innodb_force_recovery>> in my.cnf festlegen.
InnoDB: und InnoDB zwingen, die Absturzwiederherstellung hier fortzusetzen.
Was ist die Ursache für diese Fehler und wie kann ich sie beheben?
innodb_file_per_table
). Die in der Protokollnachricht vorgeschlagenen Methoden scheinen mir überlegen zu sein.ib_logfile0
undib_logfile1
es zum Laufen bringenibdata1
ist gleichbedeutend mit dem Verlust all Ihrer Daten (oder zumindest aller DatenENGINE=Innodb
!)Halte dort an! Bitte NICHT löschen
ibdata1
!Das Löschen dieser Datei ist wie das Spielen eines russischen Roulettes mit Ihren Datenbanken. Es könnte funktionieren und alles wiederherstellen, aber wahrscheinlich auch jede Datenbank beschädigen, die Sie haben. Versuchen Sie stattdessen zunächst, den in XAMPP enthaltenen MySQL-Sicherungsordner zu verwenden . Also mach das nächste:
mysql/data
in ummysql/data_old
(Sie können einen beliebigen Namen verwenden)mysql/data
mysql/backup
den neuenmysql/data
Ordnermysql/data_old
aufmysql/data
(Überspringen der mysql, performance_schema und phpMyAdmin Ordner von data_old)ibdata1
Datei ausmysql/data_old
und ersetzen Sie sie immysql/data
OrdnerUnd voilà!
quelle
Es sollte es beheben.
quelle
Wenn alle oben genannten Antworten nicht funktionieren, können Sie einfach alle Dateien in den Daten außer dem Ordner löschen
Gehe zu: C: \ xampp \ mysql \ data
Danach: Gehe zu: C: \ xampp \ mysql \ bin
dann mit notepad my.ini öffnen , es sieht so aus.
Löschen Sie dann den Port 3306 oder geben Sie ihn in einen Kommentar ein und ändern Sie ihn in 8111. Führen Sie dann xamp mit dem Administrator aus und es funktioniert gut.
quelle
Wenn Sie nicht XAMPP als Administrator ausgeführt wird , heruntergefahren MySQL führt häufig zu Korruption , die bedeutet , dass Sie zu reparieren oder Tabellen löschen. Um dies zu vermeiden, müssen Sie entweder XAMPP als Administrator ausführen oder die richtige Eingabeaufforderungsmethode zum Herunterfahren von MySQL verwenden.
Sie können löschen,
ibdata1
wie Kratos vorschlägt. Dies kann jedoch zu einer fehlerhaften Datenbank führen, da sich andere Teile Ihrer Datenbank noch im/mysql/data/
Ordner befinden. In meinem Fall haben mich diese Restdaten daran gehindert, WordPress erfolgreich zu installieren.Eine sauberere Möglichkeit, den Schaden rückgängig zu machen, besteht darin, den gesamten
/mysql/data/
Ordner zurückzusetzen. Windows verfügt über eine integrierte Versionierung von/mysql/data/
OrdnernRestore previous versions
. Klicken Sie mit der rechten Maustaste auf und wählen Sie . Sie können dann den aktuellen Inhalt des Ordners löschen und durch den Inhalt der älteren Version ersetzen.Nachtrag: Um sicherzustellen , dass Sie nicht vergessen XAMPP als Administrator ausführen können Sie rechts die XAMPP Verknüpfung klicken, gehen Sie zu
Properties
, dannAdvanced
und schließlich kreuzenRun as administrator
.quelle
Mein Xampp MySQL funktionierte wie folgt:
01.Go to mysql/data/ directory 02. delete the ibdata1 & ib_logfile*(ib_logfile0,ib_logfile1,ib_logfile101) file 03. restart xampp server
quelle
Fügen Sie die folgende Zeile unter dem
[mysqld]
Abschnitt in der MySQL-Konfigurationsdatei (my.ini) hinzu und starten Sie anschließend den Apache-Webserver und den MySQL-Dienst neu.quelle
Ich habe die gleiche Art von Fehler in meinem,
C:\xampp\mysql\data\mysql_error.log
als ich versuchte, MySQL zu starten.Sie müssen den Fehler genau lesen. Dies verhindert, dass
test_database
MySQL gestartet wird.Sie könnten die fehlerhafte Datenbank wegblasen. Diese Schritte beheben das Problem:
C:\xampp\mysql\data
test_database
.C:\xampp\mysql\data\mysql\backuptablespace
Wenn es nicht funktioniert, legen Sie die Datei wieder dort ab, wo Sie begonnen haben, und Sie befinden sich wieder dort, wo Sie begonnen haben.
Wenn Sie die Datenbank nicht löschen möchten und keine Backups haben:
Wenn Sie keine Sicherungen von Tabellendaten haben und MySQL nicht startet, weil etwas beschädigt ist, müssen Sie den Eliminierungsprozess verwenden, um zu erraten und zu überprüfen, was genau Sie getan haben, das es beschädigt hat. Folge diesen Schritten:
C:\xampp\
und bewahren Sie ihn an einem sicheren Ort auf, damit Sie wieder dorthin zurückkehren können, wo Sie begonnen haben.Versuchen Sie, diese Dateien zu entfernen von
C:\xampp\mysql\data\mysql
: db.frm db.MRD db.MYI db.opt user.frm user.MYD user.MYIWenn Sie MySQL zum Starten bringen, versuchen Sie, die Dinge zurückzusetzen, bis Sie das gefunden haben, was Sie hinzufügen, wodurch das Starten verhindert wird. Ein Bonus dafür ist, dass Sie lernen, wie MySQL unter der Haube funktioniert.
Nukleare Option:
Etwas, das Sie getan haben, hat den MySQL-Server vermasselt. Eine Deinstallation und Neuinstallation von XAMPP sollte die Beschädigung rückgängig machen.
quelle
Ich habe mich auch diesem Problem gestellt und so habe ich es gelöst.
1. Stellen Sie sicher, dass sich xampp nicht im Unterverzeichnis befindet. Beispielsweise sollte es C: \ xampp
2 sein. Möglicherweise müssen Sie beim Ausführen der Anwendung als Administrator ausgeführt werden.
Hoffe das wird funktionieren!
quelle
Hier ist was ich getan habe. Ich habe meinen Computer neu gestartet. Als nächstes starte ich services.msc. Ich habe den MySQL-Dienst gestoppt und dann neu gestartet. Der Xampp-Server wurde neu gestartet.
quelle
Keine der oben genannten Lösungen hat bei mir funktioniert. dann habe ich unten gemacht:
Ich habe alle Dateien im Verzeichnis C: \ xampp \ mysql \ data \ gelöscht, mit Ausnahme der Ordner in diesem Verzeichnis. Es hat einwandfrei funktioniert, aber meine vorherigen Datenbanken funktionieren jetzt nicht. Wenn Sie sich nicht darum kümmern, werden alle Ihre vorherigen Datenbanken in phpmyadmin gelöscht.
quelle
Ich hatte das gleiche Problem und keine der oben genannten Lösungen hat mir geholfen. Ich ging zur MySQL-Konfigurationsdatei (my.ini) und änderte die Portnummer unter [mysqld]. Standardmäßig läuft MySQL auf 3306-Port.
Ich habe es geändert in,
Führen Sie dann als Administrator aus. Schließlich funktionierte dies für mich.
quelle
In meinem Fall habe ich folgende Schritte ausgeführt und es hat funktioniert:
Klicken Sie in der Xampp-Systemsteuerung in der rechten Symbolleiste auf die Schaltfläche "Dienste"
Dann finden Sie "MySQL" aus der Serviceliste
Klicken Sie darauf und klicken Sie auf der linken Seite des Bedienfelds auf "Stopp".
Kehren Sie in das Xampp-Kontrollfeld zurück und klicken Sie auf Start.
quelle
xampp/mysql/backup
Dateien inxampp/mysql/data
XAMPP
asAdministrator
(stellen Sie sicher, dass MySQL installiert ist. Wenn installiert, wird ein grünes Häkchen angezeigt.)Ich hoffe es hilft!
quelle
Leute stellen nur sicher, dass Sie MySql Server nicht installiert haben. Da ich den MySQL-Server vorinstalliert habe und wenn ich mysql über das xampp-Kontrollfeld starte, treten einige Portkonflikte auf und es funktioniert nicht. Stellen Sie daher vor dem Starten des mysql über das xampp-Kontrollfeld sicher, dass der mysql-Server nicht installiert ist. Ich benutze .net, also habe ich MySQL-Server in der Vergangenheit installiert. Die Deinstallation löste mein Problem ....
quelle
Ich habe das Problem behoben, indem ich die Aufgabe für mysqlid im Task-Manager beendet habe.
quelle
quelle
Was für mich funktioniert hat ist:
Logs
fürMySql
inXAMPP panel
.3306
task manager(Ctrl+Shift+Esc)
dann findenmysqlid
undEnd the task
.quelle
Config-> Apache-> Öffnen Sie httpd.conf. Suchen Sie nach Listen oder 80, aktualisieren Sie den Listen-Port auf 8081, speichern Sie den Server und starten Sie ihn neu. Oh und fahren Sie Skype herunter, wenn Sie es haben.
quelle
In meinem Fall, in dem ich meine MySQL-Daten und Htdocs mit Dropbox synchronisiert habe, musste ich nur die in Konflikt stehenden Dateien im Ordner MySQL / Daten und in den Unterordnern löschen. Die in Konflikt stehenden Dateien können anhand ihrer Namen identifiziert werden. Dropbox teilt Ihnen dies mit. Es hat das Problem für mich gelöst.
quelle
Stellen Sie sicher, dass die Systemzeit korrekt ist. Meins war irgendwie auf das Jahr 2040 eingestellt, die Korrektur des Datums löste das Problem.
quelle
Für mich habe ich Skype beendet, das Port 80 belegt, dann lief Apache glücklich auf Port 80, als ich Skype ausgeführt habe, und diesmal wurde ein anderer Port ausgewählt.
quelle
Wenn Sie MariaDB verwenden, können Sie Folgendes versuchen:
quelle
Ich kommentiere diese Aussage in mysql / bin / my.ini
und es löst mein Problem. als Sie alle
quelle
Dies bedeutet, dass auf Port 3306 bereits eine MySQL-Datenbank ausgeführt wird.
Drücken Sie im XAMPP-Bedienfeld die Taste 'Config' und anschließend 'my.ini'. Danach Strg-F und nach '3306' suchen. Ersetzen Sie alle gefundenen '3306' durch eine andere Portnummer Ihrer Wahl (Sie können 3307 oder 3308 wählen - ich habe 2811 gewählt und es hat funktioniert).
Nachdem Sie alle Speicherorte ersetzt haben, an denen '3306' geschrieben ist, speichern Sie die Datei und drücken Sie erneut 'Start' auf dem Bedienfeld.
quelle
Gehen Sie zum Task-Manager und suchen Sie mysqld und klicken Sie mit der rechten Maustaste, wählen Sie END TASK und aktualisieren Sie XAMPP
quelle
Für mich war das Problem:
Ich habe
hibernate
mich an meinen PC gewöhnt, anstatt ihn aufgrund des Umfangs des Projekts herunterzufahren. Ich war faul genug, alle Programme wieder zu öffnen.Bevor Sie etwas anderes ausprobieren, empfehle ich Ihnen, die folgenden einfachen Dinge zu tun. Andernfalls wird Ihr MySQL-Server durcheinander gebracht.
Wenn nicht funktioniert,
Stellen Sie außerdem sicher, dass Sie
3306
&5040
Ports überprüfen . Diese beiden Ports sind erforderlich, um MySQL mit den Standardeinstellungen auszuführen.Überprüfen Sie die Antwort von @Ryan Williams, um herauszufinden, warum es gut ist, XAMPP als Administrator auszuführen.
quelle
Ich habe buchstäblich jede Datei aus c: \ xampp \ mysql \ data \ außer my.ini gelöscht und es funktioniert
quelle
Ich habe einen ähnlichen MySQL-Fehler behoben und ich denke, diese Antwort wird Ihnen helfen, den gleichen Typ von MySQL-Datenbankfehlern zu beheben.
Lösung:
Sichern Sie den MySQL-Datenordner
Zunächst sollten Sie mit einer beliebigen Komprimierungssoftware eine Sicherungskopie des Ordners "Daten" erstellen.
Geben Sie einen Namen wie "data_backup.zip" oder eine beliebige Art der Komprimierung ein.
Ich habe die WinRAR-Komprimierungssoftware verwendet, um den MySQL-Ordner "Daten" zu komprimieren und zu sichern.
Benennen Sie den Ordner "Daten" um
Erstellen Sie einen neuen Datenordner
Kopieren Sie den Inhalt aus dem Ordner "backup"
Übertragen Sie alle MySQL-Projekte Datenbank-, Datendatei- und Protokolldateien
Wenn Sie über viele Datenbanken verfügen, die für verschiedene Projekte verwendet wurden, müssen Sie die gesamte Datenbank vom Ordner "data-oldfiles" in den Ordner "data" übertragen.
Kopieren Sie alle Datenbanken aus den alten Datendateien und fügen Sie sie in den Datenordner ein.
Jetzt müssen Sie die Datendatei „ibdata1“ und alle Protokolldateien „ib_logfile0, ib_logfile1“ aus dem Ordner mit den alten Datendateien in den Datenordner kopieren.
Wenn Sie viele id_logiles haben, kopieren Sie alle.
Starten Sie jetzt MySQL von XAMPP aus.
Gehen Sie zu phpMyAdmin, um zu überprüfen, ob alle Datenbanken verfügbar sind und funktionieren.
Starten Sie nun Ihr beliebiges Website-Projekt von localhost aus, um die MySQL-Datenbank zu überprüfen.
Das Problem ist gelöst !!
Sie können die Detail-Tutorials unter dem folgenden Link lesen: Fehler: MySQL wird unerwartet heruntergefahren - Lösung in 5 einfachen Schritten
Sie können sich auch Video-Tutorials ansehen, um das Problem zu lösen:
[Gelöst] Fehler: MySQL wurde unerwartet heruntergefahren
quelle
Dazu müssen Sie unter Modules Services auf die Option x klicken und die MYSQL-Services installieren. Starten Sie dann die Dienste. Bitte schön.
quelle