Soluciones Xampp

XAMPP MySQL ne démarre pas en 2026 : la vraie solution

Ton XAMPP refuse de lancer MySQL et tu tournes en rond depuis une heure ? Ça m’est arrivé un paquet de fois, et à chaque fois la cause était différente. Alors plutôt que de te balancer trois astuces génériques, je te donne le vrai diagnostic, celui que j’applique maintenant systématiquement quand MySQL ne démarre pas dans XAMPP.

La bonne nouvelle, c’est que dans 9 cas sur 10, l’erreur MySQL XAMPP vient d’un conflit de port ou d’un fichier corrompu, pas d’une grosse panne. Il faut juste savoir où regarder avant de tout réinstaller comme un bourrin.

Vérifie d’abord le port 3306 : le coupable n°1 de XAMPP MySQL

MySQL écoute par défaut sur le port 3306. Si un autre logiciel l’occupe déjà, XAMPP ne pourra jamais démarrer MySQL, point barre. Le suspect habituel : un MySQL déjà installé séparément (souvent via WAMP, Laragon ou une install manuelle), ou parfois Skype sur les vieilles versions.

Pour confirmer, ouvre une invite de commande en admin et tape netstat -ano | findstr :3306. Tu vas récupérer un PID. Colle-le dans le Gestionnaire des tâches pour voir quel programme squatte le port. Si c’est un MySQL concurrent, désinstalle-le ou change son port.

Autre méthode fiable : l’Observateur d’événements. Panneau de configuration → Outils d’administration → Observateur d’événements → Journaux Windows → Application. Cherche l’ID d’événement 10048. Si tu le vois, c’est la preuve formelle d’un conflit de port. Pas besoin de chercher ailleurs.

Comment changer le port MySQL dans XAMPP si tu ne peux pas libérer le 3306

Si tu ne veux pas toucher à l’autre programme, tu peux déplacer MySQL sur un autre port. Ouvre le fichier my.ini (dans C:xamppmysqlbin) et modifie la ligne port=3306 par port=3307. Pense aussi à mettre à jour PHPMyAdmin : dans config.inc.php, remplace 3306 par 3307.

Sans cette double modification, ton XAMPP MySQL ne démarrera pas correctement, ou bien PHPMyAdmin te renverra une erreur de connexion. C’est l’erreur classique que tout le monde oublie.

Le pare-feu Windows qui bloque MySQL sans prévenir

Beaucoup pensent que le pare-feu ne concerne que les serveurs distants. Faux. Sur Windows, le Pare-feu Defender peut bloquer mysqld.exe sans afficher de message clair. Le service plante au démarrage et XAMPP affiche juste un voyant rouge.

Va dans Panneau de configuration → Système et sécurité → Pare-feu Windows Defender → Paramètres avancés. Dans les règles de trafic entrant ET sortant, cherche une règle qui bloque MySQL ou mysqld. Désactive-la ou crée une règle d’autorisation explicite pour C:xamppmysqlbinmysqld.exe.

Pour tester rapidement si c’est bien le pare-feu, désactive-le 30 secondes et relance MySQL depuis le panneau XAMPP. Si ça démarre, tu sais quoi corriger. Réactive-le immédiatement après, évidemment.

Fichiers corrompus : le tueur silencieux de XAMPP MySQL

Il y a un scénario que personne ne mentionne assez : un plantage brutal ou une coupure de courant qui corrompt les fichiers InnoDB. Là, MySQL ne redémarrera pas, peu importe ce que tu fais avec les ports ou le pare-feu.

Va dans C:xamppmysqldata. Repère les fichiers ibdata1, ib_logfile0 et ib_logfile1. Ces fichiers sont vitaux. Si le fichier mysql_error.log (dans C:xamppmysqldata) affiche des erreurs du type “InnoDB: Database page corruption” ou “Cannot open tablespace”, tu as la réponse.

Solution : renomme ces fichiers en .old et relance MySQL. Il va les recréer. Tu perdras les tables InnoDB, mais au moins le service redémarrera. Récupère tes données depuis un dump SQL si tu en as un.

Le fichier error.log : ton meilleur allié pour diagnostiquer XAMPP MySQL

Arrête de deviner. Le fichier mysql_error.log contient 90% des réponses. Ouvre-le avec Notepad++ et cherche les mots-clés : port, InnoDB, permission, corrupt. Chaque erreur a une cause précise, et le message te donne souvent directement le chemin du problème.

Si tu vois “Access denied for user ‘root’@’localhost'”, ton problème n’est pas le démarrage mais les droits. Si tu vois “Can’t create/write to file”, c’est un souci de permissions Windows ou d’antivirus qui verrouille le dossier data.

Antivirus et permissions : les blocages invisibles

Avast, AVG, Bitdefender et même Windows Defender en mode temps réel peuvent verrouiller les fichiers du dossier C:xamppmysqldata. Résultat : MySQL tente d’écrire, échoue, et s’arrête net.

Ajoute une exclusion pour tout le dossier C:xampp dans ton antivirus. C’est trois clics et ça règle des heures de galère. Vérifie aussi que ton compte Windows a bien les droits de modification sur le dossier XAMPP (clic droit → Propriétés → Sécurité).

Un détail que j’ai vu chez plusieurs devs : installer XAMPP dans Program Files. Mauvaise idée. Windows restreint les écritures dans ce dossier. Installe-le à la racine du disque, genre C:xampp, et tu éviteras la moitié des erreurs MySQL XAMPP.

Réinstaller proprement quand rien ne marche

Si après tout ça MySQL refuse toujours de démarrer, sauvegarde ton dossier data quelque part, désinstalle XAMPP, supprime le dossier restant, et réinstalle une version récente. La version 8.2.x corrige plusieurs bugs de compatibilité avec PHP 8.2 et Windows 11 que les anciennes versions traînaient.

Évite absolument d’installer XAMPP par-dessus une ancienne install. Les conflits de registre et de DLL cassent MySQL de manière aléatoire. Désinstalle, nettoie, réinstalle. C’est plus long mais c’est la seule méthode fiable.

Et si tu veux comparer avec les autres erreurs fréquentes de XAMPP, garde en tête que la plupart viennent du même trio : port occupé, permissions, pare-feu. Une fois que tu maîtrises ces trois-là, tu débloques 95% des situations où XAMPP MySQL ne démarre pas.