XAMPP-MySQL arrêt inattendu

Quand j'ouvre XAMPP et cliquez sur le bouton Démarrer MySQL et cela me donne une erreur. Je l'avais commencé juste avant, mais maintenant ça ne marche pas.

12:19:12 PM [mysql] tentative de démarrer L'application MySQL...
12:19: 12 PM [mysql] changement d'État détecté: en cours d'exécution
12:19: 13 PM [mysql] changement d'État détecté: arrêté
12: 19 :13 PM [mysql] erreur: MySQL arrêt inattendu.
12: 19: 13 PM [mysql] cela peut être dû à un port bloqué, à des dépendances manquantes,
12: 19: 13 PM [mysql] privilèges inappropriés, un plantage ou un arrêt par une autre méthode
12: 19: 13 PM [mysql] appuyez sur le bouton Logs pour afficher les journaux d'erreurs et vérifier
12: 19: 13 [mysql] L'Observateur D'événements Windows pour plus d'indices
12: 19 :13 PM [mysql] si vous avez besoin de plus d'aide, copiez et postez ceci
12: 19: 13 [mysql] toute la fenêtre du journal sur les forums

Voici le contenu du journal des erreurs:

2013-08-02 12:19:12 4536 [Remarque] Le Plugin 'FEDERATED' est désactivé.
2013-08-02 12: 19: 12 F64 InnoDB: avertissement: L'utilisation de innodb_additional_mem_pool_size est obsolète. Cette option peut être supprimée dans les versions futures, avec l'option innodb_use_sys_malloc et avec L'allocateur de mémoire interne D'InnoDB.
2013-08-02 12: 19: 12 4536 [Note] InnoDB: le tas de mémoire InnoDB est désactivé
2013-08-02 12: 19: 12 4536 [Note] InnoDB: mutex et rw_locks utilisent des fonctions verrouillées Windows
2013-08-02 12: 19 :12 4536 [Note] InnoDB: tables compressées utilisent zlib 1.2.3
2013-08-02 12: 19: 12 4536 [Note] InnoDB: ne pas utiliser les instructions CPU crc32
2013-08-02 12: 19: 12 4536 [Note] InnoDB: initialisation du pool de tampon, taille = 16.0 m
2013-08-02 12: 19: 12 4536 [Note] InnoDB: initialisation terminée du pool de tampon
2013-08-02 12: 19 :12 4536 [Note] InnoDB: le plus haut format de fichier pris en charge est Barracuda.
2013-08-02 12: 19: 12 4536 [Note] InnoDB: les numéros de séquence du journal 0 et 0 dans les fichiers ibdata ne correspondent pas au numéro de séquence du journal 1616798 dans le ib_logfiles!
2013-08-02 12: 19: 12 4536 [Note] InnoDB: base de données n'a pas été arrêté normalement!
2013-08-02 12: 19: 12 4536 [Note] InnoDB: démarrage de la récupération d'accident.
2013-08-02 12: 19: 12 4536 [Note] InnoDB: lecture des informations tablespace de la .mici fichiers...

Le message d'erreur le plus important est ici:

2013-08-02 12:19:12 4536 [ERREUR] InnoDB:
Tentative d'ouverture d'un espace de table précédemment ouvert.
Tablespace précédent mysql / innodb_table_stats utilise l'espace ID: 1 dans filepath: . mysql innodb_table_stats.mici.
Impossible d'ouvrir tablespace xat / payments {[42] } qui utilise l'espace ID: 1 dans filepath: . XAT paiements.mici

Le reste du journal:

InnoDB: erreur: Impossible d'ouvrir le fichier d'espace de table à table unique . XAT paiements.mici
InnoDB: nous ne continuons pas la récupération de plantage, car la table peut devenir
InnoDB: corrompu si nous ne pouvons pas appliquer le enregistre les enregistrements dans le journal InnoDB.
InnoDB: pour résoudre le problème et démarrer mysqld:
InnoDB: 1) S'il y a un problème d'autorisation dans le fichier et mysqld ne peut pas
InnoDB: ouvrez le fichier, vous devez modifier les autorisations.
InnoDB: 2) si la table n'est pas nécessaire, ou si vous pouvez la restaurer à partir d'une sauvegarde,
InnoDB: ensuite, vous pouvez supprimer le .fichier ibd, et InnoDB fera un{[4 normal]} InnoDB: récupération de Plantage et ignorer cette table.
InnoDB: 3) si le système de fichiers ou le disque est cassé, et vous ne pouvez pas supprimer
InnoDB: la .mici fichier, vous pouvez définir innodb_force_recovery > 0 dans mon.cnf
InnoDB: et forcer InnoDB à continuer la récupération de plantage ici.

Quelle est la cause de ces erreurs et comment les corriger?

50
demandé sur Austin 2013-08-02 21:27:56

20 réponses

Hey je viens de faire cela et cela a fonctionné:

  1. quitter serveur Xampp
  2. allez dans votre répertoire C:\xampp\mysql\data
  3. supprimer le fichier ibdata1
  4. redémarrer serveur xampp

Cela devrait fonctionner

147
répondu Kratos 2015-02-05 03:11:54
  1. Aller mysql/data/
  2. Supprimer tous les fichiers aléatoires (sauf les dossiers de base de données réels)
  3. Redémarrer Apache et MySQL.

Il devrait le réparer.

18
répondu Kerim 2016-01-21 13:06:22

Ajoutez la ligne suivante sous la section [mysqld] dans le fichier de configuration mysql (my.ini) et redémarrez ensuite le serveur web apache et le service mysql.

[mysqld]
innodb_force_recovery = 4
13
répondu aog 2014-05-05 08:15:46

J'ai eu le même genre d'erreur dans mon C:\xampp\mysql\data\mysql_error.log en essayant de démarrer mysql.

2013-08-05 01:20:32 6780 [ERROR] InnoDB: Attempted to open a previously 
  opened tablespace. Previous tablespace mysql/slave_relay_log_info uses 
  space ID: 3 at filepath: .\mysql\slave_relay_log_info.ibd. Cannot open  
  tablespace test_database/test_table which uses space ID: 3 at filepath:  
  .\test_database\test_table.ibd

Vous devrez lire l'erreur de près. Cela dit que test_database empêche mysql de démarrer.

Vous pouvez souffler la base de données incriminée, ces étapes résolvent le problème:

  1. assurez-vous que mysql et xampp sont complètement fermés.
  2. allez dans votre répertoire où mysql est installé, le mien est: C:\xampp\mysql\data
  3. , Vous devriez voir un dossier avec le nom d'une base de données que vous avez créé. le mien était test_database.
  4. créez un nouveau dossier ailleurs appelé C:\xampp\mysql\data\mysql\backuptablespace
  5. faites glisser et déposez (ne supprimez pas) le dossier de la table de base de données incriminé dans le répertoire de sauvegarde.
  6. essayez de redémarrer mysql. Pour moi, cela a commencé en 1 seconde comme prévu.

Si cela ne fonctionne pas, remettez le fichier où vous avez commencé et vous serez de retour où vous avez commencé.

Si vous ne voulez pas supprimer la base de données et n'ont pas sauvegardes:

Si vous n'avez pas de sauvegardes de données de table et que mysql ne démarre pas parce que quelque chose est corrompu, vous devrez utiliser le processus d'élimination pour deviner et vérifier exactement ce que vous avez fait. corrompu. Suivez ces étapes:

  1. Faire un clone de l'ensemble C:\xampp\ et le stocker dans un endroit sûr afin que vous puissiez revenir à l'endroit où vous avez commencé.
  2. utilisez une approche de "recherche binaire" pour essayer de localiser l'élément corrompu dans la base de données mysql. Il pourrait être un fichier, ou une table, ou une base de données, ou à un utilisateur ou quoi que ce soit.
  3. supprimez toute la base de données et voyez si cela permet à mysql de démarrer. Si c'est le cas, remettez la base de données en place et essayez de supprimer certaines tables. Si ce n'est pas le cas, essayez de sortir autre chose jusqu'à ce qu'il commence.
  4. Essayez de supprimer ces fichiers à partir de C:\xampp\mysql\data\mysql: DB.frm DB.MRD DB.MYI DB.opter utilisateur.frm utilisateur.MYD utilisateur.MYI

  5. Lorsque vous obtenez mysql pour commencer, essayez de remettre les choses jusqu'à ce que vous trouviez la seule chose que vous ajoutez ce qui l'empêche de démarrer. Un bonus pour cela est que vous apprenez comment mysql fonctionne sous le capot.

Option Nucléaire:

Quelque chose que vous avez fait a foiré le serveur mysql. Une désinstallation et une réinstallation de XAMPP devraient annuler la corruption.

10
répondu Eric Leschinski 2013-11-08 00:48:43

Lorsque vous n'exécutez pas XAMPP en tant qu'administrateur, l'arrêt de MySQL provoque souvent une corruption, ce qui signifie que vous devez réparer ou supprimer vos tables. Pour éviter cela, vous devez exécuter XAMPP en tant qu'administrateur ou utiliser la méthode d'invite de commande appropriée pour arrêter MySQL.

Vous pouvez supprimer {[0] } comme le suggère Kratos, mais cela peut vous laisser avec une base de données brisée car d'autres parties de votre base de données sont toujours dans le dossier /mysql/data/. Dans mon cas, ce résidu de données m'a arrêté d'installer avec succès WordPress.

Une façon plus simple d'annuler les dégâts est de restaurer l'ensemble de votre dossier /mysql/data/. Windows a intégré dossier versioning-faites un clic droit sur /mysql/data/ et sélectionnez Restore previous versions. Vous pouvez ensuite supprimer le contenu actuel du dossier et le remplacer par le contenu de l'ancienne version.

Addendum: pour vous assurer de ne pas oublier d'exécuter XAMPP en tant qu'administrateur, vous pouvez cliquer avec le bouton droit sur le raccourci XAMPP, aller à Properties, puis Advanced, et enfin cocher Run as administrator.

8
répondu Ryan Williams 2013-11-07 15:37:41

J'ai également fait face à ce problème et c'est ainsi que j'ai résolu.
1. Assurez-vous que xampp n'est pas sous le sous-répertoire. Par exemple, il devrait être C:\xampp
2. Vous devrez peut-être exécuter en tant qu'administrateur dans l'exécution de l'application.

J'espère que cela fonctionnera!

7
répondu SITHU 2013-08-13 18:31:41

Mon MySQL XAMPP a fonctionné comme suit:

01.Go to mysql/data/ directory
02. delete the ibdata1 & ib_logfile*(ib_logfile0,ib_logfile1,ib_logfile101) file
03. restart xampp server
7
répondu matinict 2016-12-04 09:45:07

Config - > Apache - > ouvrir httpd.conf. recherche pour écouter ou 80, mise à jour écouter port à 8081 enregistrer et redémarrer le serveur. Oh et arrêt Skype si vous l'avez.

2
répondu Mihai 2013-08-02 17:56:53

Assurez-vous que l'heure système est correcte. Le mien a été mis à l'année 2040 en quelque sorte, corriger la date résolu le problème.

1
répondu shakee93 2016-12-26 09:17:13

Voici ce que j'ai fait. J'ai redémarré mon ordinateur. Ensuite, je cours des services.MSC. J'ai arrêté le service MySQL puis l'ai redémarré. Le redémarré le serveur Xampp.

1
répondu kyzen 2017-01-11 15:18:50

Pour moi, j'ai quitté Skype, qui occupait le port 80, puis Apache a couru heureusement sur le port 80, que J'ai couru Skype et il a choisi un autre port cette fois.

1
répondu sudhanshu 2017-05-14 03:20:44

J'étais confronté au même problème et aucune des solutions énoncées ci-dessus ne m'a aidé. je suis allé au fichier de configuration mysql (mon.ini) et a changé le numéro de port sous [mysqld]. par défaut mysql s'exécute sur le port 3306.

port= 3306

Je l'ai changé en,

port= 8111

Puis exécutez en tant Qu'administrateur.Enfin, cela a fonctionné pour moi.

1
répondu Sksaif Uddin 2018-03-26 07:24:09

Les gars s'assurent juste que vous n'avez pas le serveur MySql installé. Parce que J'ai le serveur MySql pré-installé et quand je démarre mysql à partir du panneau de configuration xampp, certains conflits de ports se produisent et ne fonctionnent pas.. Donc, avant de démarrer le mysql à partir du panneau de configuration xampp, assurez-vous que le serveur mysql n'est pas installé. J'utilise .net donc j'ai installé le serveur mysql dans le Passé. La désinstallation a résolu mon problème....

1
répondu Gvs Akhil 2018-05-14 07:24:37

Dans mon cas où j'ai synchronisé mes données mysql et htdocs avec dropbox, j'avais juste besoin de supprimer les fichiers en conflit dans le dossier et les sous-dossiers mysql/data. Les fichiers en conflit peuvent être identifiés par leurs noms, dropbox vous le dira. Il a résolu le problème pour moi.

0
répondu maurisrx 2015-01-11 09:15:30

Pour cela, vous devez cliquer sur l'option X sous modules Services et installer les services MYSQL. Ensuite, démarrez les services. Ici vous allez.

0
répondu Fahad Naeem 2015-02-03 14:38:04

Aucune solution ci-dessus n'a fonctionné pour moi. ensuite, je l'ai fait ci-dessous:

J'ai supprimé tous les fichiers à l'intérieur C:\xampp\mysql\data \ répertoire sauf les dossiers dans ce répertoire. Cela a parfaitement fonctionné mais mes bases de données précédentes ne fonctionnent pas maintenant. Donc, faites ci-dessus si vous ne vous en souciez pas, il supprimera toutes vos bases de données précédentes dans phpmyadmin.

0
répondu Aammad Ullah 2017-01-17 13:33:00

Si le message de Plantage est " mysql.exe a cessé de fonctionner". Exécutez simplement XAMPP-control.exe en tant qu'administrateur résoudra votre problème instantanément.

0
répondu Anwar Hossain 2017-07-05 07:36:26

Si l'une des choses ci-dessus ne fonctionne pas, faites un retour du répertoire Xampp et réinstallez Xampp. Que sûrement fonctionne!

0
répondu Sri09 2017-08-10 16:47:35

Si vous utilisez MariaDB vous pouvez essayer ceci:

  1. Aller à mysql/data/
  2. Renommer aria_log_control à aria_log_control_old
  3. Redémarrez "Mysql"
0
répondu Leo 2018-03-28 15:00:19

Je commente cette déclaration dans mysql / bin / my.ini

'innodb_additional_mem_pool_size=2M'

Et ça résout mon problème. que vous tous

0
répondu Boston Kenne 2018-06-20 09:05:12