Soluciones Xampp

XAMPP MySQL startet nicht: So behebst du den Fehler 2026

XAMPP MySQL startet nicht – das ist einer dieser Fehler, die dich mitten in der Arbeit ausbremsen. Der Apache läuft, aber MySQL bleibt rot. Du klickst auf Start, und nichts passiert. Kein Popup, keine Fehlermeldung, nur dieses verdammte rote Icon. Ich kenne das aus eigener Erfahrung, und die gute Nachricht: In 9 von 10 Fällen ist die Ursache banal und in unter fünf Minuten behoben.

Warum XAMPP MySQL nicht startet – die häufigsten echten Ursachen

Bevor du wild in Konfigurationsdateien herumschraubst, solltest du wissen, dass MySQL beim Start in XAMPP fast immer an einem belegten Port 3306, an fehlenden Schreibrechten oder an einem abgestürzten Datenverzeichnis scheitert. Das sind die drei realistischen Szenarien. Alles andere ist selten.

Ein weiterer Klassiker: Du hast vor kurzem einen anderen MySQL-Dienst installiert, etwa über den MySQL Installer von Oracle oder über eine Docker-Instanz. Dann läuft bereits ein MySQL auf Port 3306, und XAMPP kommt nicht durch. Das ist keine XAMPP-Schwäche, das ist einfach Portkonkurrenz.

Prüfe zuerst das Windows-Ereignisprotokoll auf Ereignis-ID 10048

Das ist der schnellste Weg zur Diagnose. Öffne die Systemsteuerung, gehe zu Verwaltung und dann zur Ereignisanzeige. Wähle Windows-Protokolle und such nach Einträgen mit der Ereignis-ID 10048. Diese ID bedeutet: Adresse bereits in Verwendung. Wenn du sie findest, weißt du sofort, dass ein anderer Prozess Port 3306 blockiert.

Du kannst das auch direkt in der Eingabeaufforderung prüfen. Tippe netstat -ano | findstr :3306 ein. Die letzte Zahl in der Ausgabe ist die PID des blockierenden Prozesses. Öffne den Task-Manager, such die PID und beende den Prozess – oder ändere in XAMPP den MySQL-Port. Letzteres ist oft die sauberere Lösung, gerade wenn du das andere MySQL beruflich brauchst.

Port ändern statt kämpfen – so geht’s in XAMPP

Wenn du XAMPP MySQL nicht starten kannst, weil Port 3306 belegt ist, öffne die Datei my.ini im Ordner xamppmysqlbin. Suche nach der Zeile port=3306 und ändere sie auf port=3307. Speichern, XAMPP neu starten. Vergiss aber nicht, dass du dann in phpMyAdmin und in deinen Projekten den neuen Port angeben musst.

Das ist die pragmatische Lösung, die ich jedem empfehle, der parallel mit anderen MySQL-Instanzen arbeitet. Wer stur auf 3306 besteht, verliert Zeit ohne Ende.

Firewall und Antivirus blockieren MySQL – der unterschätzte Fehler

Windows-Firewall und Drittanbieter-Antivirusprogramme sind ein häufiger Grund, warum XAMPP MySQL nicht startet oder keine Verbindung zulässt. Gehe zu Systemsteuerung > System und Sicherheit > Windows-Firewall > Erweiterte Einstellungen. Prüfe dort sowohl die eingehenden als auch die ausgehenden Regeln auf Einträge für MySQL oder mysqld.exe.

Wenn du eine Regel findest, die blockiert, deaktiviere sie. Noch besser: Erstelle eine neue eingehende Regel für Port 3306 (oder deinen geänderten Port) und erlaube TCP. Das ist zuverlässiger als das bloße Deaktivieren.

Bei Antivirussoftware wie Avast, Kaspersky oder Bitdefender hilft oft nur ein Blick in die Protokolle. Manche Programme blockieren mysqld.exe stillschweigend, ohne Meldung. Füge die XAMPP-Ordner als Ausnahme hinzu.

error.log lesen – hier steht die Wahrheit

Wenn die üblichen Verdächtigen ausscheiden, geh in den XAMPP-Installationsordner und öffne den Unterordner mysqldata. Dort liegt die Datei error.log. Diese Datei ist Gold wert, weil sie dir den echten Grund nennt, warum XAMPP MySQL nicht startet.

Typische Einträge, die du dort findest:

  • InnoDB: Unable to lock ./ibdata1 – ein anderer MySQL-Prozess läuft noch oder wurde unsauber beendet.
  • Can’t create/write to file – fehlende Schreibrechte oder voller Datenträger.
  • Unknown/unsupported storage engine – beschädigte Tabellen oder falsche Konfiguration.
  • Plugin ‘InnoDB’ init function returned error – häufig nach einem Absturz oder Stromausfall.

Bei InnoDB-Problemen hilft oft, die Dateien ib_logfile0 und ib_logfile1 zu löschen. MySQL baut sie beim nächsten Start neu auf. Das ist kein Hexenwerk, sondern gängige Praxis bei beschädigten Logs.

Datenverzeichnis beschädigt? So rettest du deine Datenbanken

Wenn XAMPP MySQL nach einem Absturz nicht mehr startet, ist oft das Datenverzeichnis in Mitleidenschaft gezogen. Bevor du irgendetwas löschst, kopiere den kompletten Ordner mysqldata an einen sicheren Ort. Das ist deine Versicherung.

Danach kannst du mit einer Neuinstallation von XAMPP beginnen und die Datenbankordner einzeln zurückkopieren. Wichtig: Nur die Ordner deiner eigenen Datenbanken, nicht die Systemdatenbanken mysql, performance_schema oder information_schema. Die werden bei der Neuinstallation frisch angelegt.

Ich habe einmal drei Stunden damit verbracht, einen InnoDB-Fehler zu jagen, nur um festzustellen, dass ein USB-Stick mit einem portablen MySQL noch lief. Seitdem prüfe ich immer zuerst Port und Prozesse, bevor ich irgendetwas anderes anfasse.

XAMPP als Administrator starten – der einfache Trick

Klingt banal, hilft aber erstaunlich oft: Starte das XAMPP Control Panel mit einem Rechtsklick als Administrator. Unter Windows 10 und 11 verhindern manche Sicherheitseinstellungen, dass MySQL ohne erhöhte Rechte auf Port 3306 binden darf.

Wenn das funktioniert, weißt du, dass es ein Rechteproblem ist. Dann kannst du dauerhaft eine Verknüpfung mit Administratorrechten anlegen. Das ist keine elegante Lösung, aber sie funktioniert zuverlässig und kostet dich keine Nerven.

Wann du XAMPP komplett neu installieren solltest

Es gibt einen Punkt, an dem Herumdoktern keinen Sinn mehr macht. Wenn du error.log-Einträge siehst, die auf beschädigte Systemtabellen hinweisen, oder wenn MySQL nach mehreren Reparaturversuchen immer noch nicht startet, ist eine saubere Neuinstallation schneller und sicherer.

Deinstalliere XAMPP, lösche den verbleibenden Ordner C:xampp komplett und installiere die aktuelle Version neu. Achte darauf, dass du vorher deine htdocs-Projekte und das data-Verzeichnis gesichert hast. Danach läuft MySQL wieder wie am ersten Tag.

Und noch ein Tipp aus der Praxis: Nutze für neue Projekte lieber Docker mit einem offiziellen MySQL-Image. Das umgeht die ganze Port- und Rechteproblematik von XAMPP und ist heute Standard in der professionellen Entwicklung. XAMPP ist gut zum Lernen und für schnelle Tests, aber für ernsthafte Arbeit gibt es inzwischen bessere Werkzeuge.