Erreur 1067 Service terminated unexpectedly sur MySQL


Points clés Détails à retenir
🛠️ Définition Erreur 1067 : arrêt inopiné du service MySQL sur Windows
❌ Causes possibles Fichiers corrompus, problèmes de configuration ou droits d’accès
🔍 Diagnostic Journal d’événements Windows et log MySQL
🚑 Solutions Vérifier my.ini, réinstaller ou réattribuer les droits
💡 Bonnes pratiques Sauvegarder et tester avant chaque modification

À l’heure où chaque milliseconde compte pour vos bases de données, tomber sur une erreur 1067 signale un service MySQL qui s’arrête brutalement. Contrairement à un simple redémarrage, ici le processus rend les armes sans explication claire. Dans cet article, on va décortiquer ce message sibyllin, explorer les pistes les plus fréquentes et présenter des solutions concrètes pour remettre votre service MySQL sur les rails—sans vous arracher les cheveux.

Comprendre l’erreur 1067 de MySQL

Imaginez que vous hébergez un serveur Windows, que tout fonctionnait parfaitement depuis des semaines, et que soudain le service MySQL refuse de démarrer. Plutôt frustrant. Techniquement, l’erreur 1067 vient du gestionnaire de services Windows qui reçoit un code de retour inattendu : « Service terminated unexpectedly ». MySQL ne livre pas toujours le détail du problème, il convient donc d’enquêter ailleurs.

L’absence d’informations précises dans l’interface Windows pousse à fouiller du côté du système de fichiers, des logs et des configurations internes. On pourrait croire qu’un simple redémarrage suffit, mais en vrai, il faut identifier la source exacte – qu’il s’agisse d’un fichier my.ini mal configuré, d’une base de données corrompue ou d’un droit d’accès insuffisant au dossier de données.

Principales causes et diagnostics

1. Fichier de configuration my.ini mal formé

Le fichier my.ini contient la configuration de MySQL : chemins, ports, encodages… Une virgule manquante ou un chemin incorrect et le service se plante au démarrage. Vérifiez toujours que :

  • Les sections [client] et [mysqld] sont bien délimitées.
  • Les chemins vers datadir, innodb_log_file_size et socket existent sur le disque.
  • Vous n’avez pas mixé des options de différentes versions de MySQL.

2. Corruption des fichiers de données

Une coupure électrique ou une fermeture brutale peut corrompre les tables InnoDB ou MyISAM. Le service force l’arrêt pour protéger la cohérence. Pour diagnostiquer :

  • Exécutez innochecksum ou myisamchk sur vos fichiers .ibd, .frm ou .MYD.
  • Consultez le error.log situé habituellement dans le dossier data.

3. Droits d’accès et comptes Windows

Si MySQL tourne sous un compte spécifique (Local System ou un utilisateur dédié), assurez-vous que cet utilisateur possède les droits en lecture/écriture sur les dossiers d’installation et de données. Parfois, un antivirus ou une politique de groupe bloque l’accès, ce qui entraîne un échec du service.

Pas à pas : diagnostiquer via les logs Windows

Le premier réflexe consiste à ouvrir l’Observateur d’événements Windows. On y trouve souvent une ligne d’alerte ou d’erreur précisant le chemin ou le module fautif.

Capture d'écran du journal d'événements Windows montrant l'erreur MySQL 1067

Dans l’onglet Journal des applications, repérez l’ID 1067. La description peut mentionner un chemin manquant ou un module qui ne répond pas. À partir de là, vous savez si vous devez retravailler la configuration, réparer les fichiers ou ajuster des permissions.

Solutions pratiques pour résoudre l’erreur 1067

1. Valider et restaurer le fichier my.ini

Commencez par sauvegarder l’actuel puis restaurez une version fonctionnelle. Si vous n’en avez pas :

  • Copiez le my-default.ini fourni par votre distribution MySQL.
  • Adaptez les chemins datadir et innodb_log_group_home_dir.
  • Relancez le service via la console :

net stop mysql
net start mysql

2. Réparer les tables corrompues

En cas de corruption, placez MySQL en mode sans échec :

  • Arrêtez le service.
  • Lancez mysqld –console –skip-grant-tables –skip-external-locking.
  • Dans un nouvel onglet, connectez-vous et exécutez : REPAIR TABLE nom_de_table;.

Remettez ensuite le service en mode normal et vérifiez que tout démarre sans accroc.

3. Vérifier les permissions Windows

Ouvrez l’explorateur, faites un clic droit sur le dossier de données MySQL, puis Propriétés → Sécurité. Ajoutez le compte système ou celui dédié à MySQL et donnez-lui un contrôle total. Un redémarrage du service suffira souvent à lever l’erreur.

Bonnes pratiques pour éviter l’irruption de l’erreur 1067

Au-delà de la résolution, c’est la prévention qui vous sauve le plus de temps :

  • Sauvegardez my.ini et vos bases avant toute mise à jour.
  • Testez en environnement de pré-production.
  • Surveillez les journaux d’erreurs quotidiennement.
  • Documentez chaque changement pour comprendre rapidement un retour en arrière.

En instaurant ces réflexes, l’erreur 1067 ne vous prendra jamais au dépourvu.

FAQ

Qu’est-ce que l’erreur 1067 MySQL ?

Il s’agit d’un code retourné par le gestionnaire de services Windows indiquant que MySQL s’est arrêté de manière inattendue, souvent à cause d’une configuration erronée ou de fichiers corrompus.

Comment consulter les journaux d’événements Windows ?

Ouvrez l’Observateur d’événements (eventvwr.msc), naviguez vers Windows Logs → Application, et filtrez sur l’ID 1067 ou sur « MySQL » pour isoler les messages liés au service.

Puis-je restaurer mon fichier my.ini par défaut ?

Oui : dans le dossier d’installation, renommez votre my.ini puis copiez le my-default.ini fourni. Adaptez simplement les chemins avant de relancer le service.

Quelles commandes utiliser pour réparer une table corrompue ?

Démarrez MySQL en mode sans échec (–skip-grant-tables), connectez-vous avec mysql.exe et exécutez REPAIR TABLE nom_de_table;.

Laisser un commentaire