web-dev-qa-db-fra.com

XAMPP - Erreur: arrêt de MySQL de manière inattendue

J'ai réinstallé XAMPP pour une raison quelconque et MySQL ne fonctionne pas, donnant l'erreur suivante dans la console:

01:56:03  [mysql]   Error: MySQL shutdown unexpectedly.
01:56:03  [mysql]   This may be due to a blocked port, missing dependencies, 
01:56:03  [mysql]   improper privileges, a crash, or a shutdown by another method.
01:56:03  [mysql]   Check the "/xampp/mysql/data/mysql_error.log" file
01:56:03  [mysql]   and the Windows Event Viewer for more clues

En vérifiant le fichier "/xampp/mysql/data/mysql_error.log", je reçois:

130302  1:48:06  InnoDB: Waiting for the background threads to start
130302  1:48:07 InnoDB: 1.1.8 started; log sequence number 1600324627
130302  1:48:07 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
130302  1:48:07 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
130302  1:48:07 [Note] Server socket created on IP: '0.0.0.0'.
130302  1:51:12 [Note] Plugin 'FEDERATED' is disabled.
130302  1:51:12 InnoDB: The InnoDB memory heap is disabled
130302  1:51:12 InnoDB: Mutexes and rw_locks use Windows interlocked functions
130302  1:51:12 InnoDB: Compressed tables use zlib 1.2.3
130302  1:51:12 InnoDB: Initializing buffer pool, size = 16.0M
130302  1:51:12 InnoDB: Completed initialization of buffer pool
130302  1:51:12 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
130302  1:51:12  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
130302  1:51:13  InnoDB: Waiting for the background threads to start
130302  1:51:14 InnoDB: 1.1.8 started; log sequence number 1600324627
130302  1:51:14 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
130302  1:51:14 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
130302  1:51:14 [Note] Server socket created on IP: '0.0.0.0'.
130302  1:56:01 [Note] Plugin 'FEDERATED' is disabled.
130302  1:56:01 InnoDB: The InnoDB memory heap is disabled
130302  1:56:01 InnoDB: Mutexes and rw_locks use Windows interlocked functions
130302  1:56:01 InnoDB: Compressed tables use zlib 1.2.3
130302  1:56:01 InnoDB: Initializing buffer pool, size = 16.0M
130302  1:56:01 InnoDB: Completed initialization of buffer pool
130302  1:56:01 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
130302  1:56:01  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
130302  1:56:02  InnoDB: Waiting for the background threads to start
130302  1:56:03 InnoDB: 1.1.8 started; log sequence number 1600324627
130302  1:56:03 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
130302  1:56:03 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
130302  1:56:03 [Note] Server socket created on IP: '0.0.0.0'.

Ce n'est qu'une partie du journal, le journal complet est un peu trop volumineux.

Aidez-moi?

7
cgf

Quittez votre skype et essayez, si skype est ouvert

ou

Allez sur votre xampp/wamp installé, recherchez httpd.conf . Ouvrez ce fichier en utilisant textpad/notepad, recherchez Listen ou le port 80, Update listen en 8081 et enregistrez le fichier . Redémarrez xampp/wamp, démarrez les serveurs.


ou
suivez les étapes ci-dessous dans skype enter image description here

6
rinuthomaz

Dans mon cas, j'ai fait deux choses:

  1. déplacé des fichiers xampp/mysql/backup dans xampp/mysql/data
  2. Exécuter XAMPP en tant qu'administrateur

Cela a fonctionné pour moi :)

9
Zakir Ibrahim

Vous devez:

  • Fermer le xampp
  • Allez dans le dossier où vous l'avez installé, si dans (c :) peut être quelque chose comme C:\xampp \, accès dossier C:\xampp\mysql\data
  • Supprimer le fichier ibdata1
  • Démarre à nouveau XAMPP.
3
Gabriel Magalhães

Cela a fonctionné pour moi

  1. quitter le XAMPP
  2. couper tous les fichiers dans C:\xampp\mysql\backup
  3. coller et remplacer des fichiers dans C:\xampp\mysql\data
  4. exécuter en tant qu'administrateur le XAMPP
2
Mohan Babu

Un serveur MySQL peut-être déjà installé sur votre ordinateur. Essayez de le désinstaller et démarrez MySQL sur XAMPP.

1
tom030888

La meilleure solution à ce problème consiste simplement à ouvrir le fichier de directives de configuration mysql my.ini présent dans le dossier C:\xampp\mysql\bin et à modifier les informations relatives aux ports, généralement occupés par certains programmes. le port no. 3306 à la suite de cela, il cesse de fonctionner, maintenant vous suivez deux étapes pour le faire fonctionner.

enter code here

    Step-1. Search for ['client'],  you can see some thing like this

            [client] 
            # password       = your_password 
            port            = 3306
            socket          = "C:/xampp/mysql/mysql.sock"
 Now in the port section remove 3306 and add port = 3306 > 3307 as shown   below.

            [client] 
            # password       = your_password 
            port            = 3306 > 3307
            socket          = "C:/xampp/mysql/mysql.sock"


    Step -2. Similarly Search for  ['mysqld'], you can see something like this 

            [mysqld]
            port= 3306
            socket = "C:/xampp/mysql/mysql.sock"
            basedir = "C:/xampp/mysql" 
            tmpdir = "C:/xampp/tmp" 
            datadir = "C:/xampp/mysql/data"
            pid_file = "mysql.pid"
            # enable-named-pipe
            key_buffer = 16M
            max_allowed_packet = 1M
            sort_buffer_size = 512K
            net_buffer_length = 8K
            read_buffer_size = 256K
            read_rnd_buffer_size = 512K
            myisam_sort_buffer_size = 8M
            log_error = "mysql_error.log"


            Now here change the port number 3306 to 3307 and add a line "innodb_force_recovery = 1" exactly as shown below.


            [mysqld]
            port= 3307
            socket = "C:/xampp/mysql/mysql.sock"
            basedir = "C:/xampp/mysql" 
            tmpdir = "C:/xampp/tmp" 
            datadir = "C:/xampp/mysql/data"
            pid_file = "mysql.pid"
            # enable-named-pipe
            key_buffer = 16M
            max_allowed_packet = 1M
            sort_buffer_size = 512K
            net_buffer_length = 8K
            read_buffer_size = 256K
            read_rnd_buffer_size = 512K
            myisam_sort_buffer_size = 8M
            log_error = "mysql_error.log"
            innodb_force_recovery = 1

Voilà, redémarrez votre service mysql, cela fonctionnera à coup sûr.

1
Srinivasulu Rao

Si Apache s'exécute sans problème et que vous trouvez un blocage en fonction des paramètres de sécurité du système, autorisez-le simplement au lieu de bloquer ou de fermer la boîte de dialogue. Et changez le numéro de port pour MySQL en 3607 comme avant 3606. Cela a fonctionné pour moi. 

0
Prerna Bhadoria

une des raisons que j’ai trouvée (et non mentionnée en plus des autres réponses données sur ce site à propos de ce problème) était en allant dans le gestionnaire de tâches de Windows et en arrêtant mysqld qui fonctionnait déjà et empêchant le démarrage du serveur mysql.

0
satyanarayan s

Je ne connais pas encore XAMPP, mais je trouve qu’une combinaison de ces suggestions donne les meilleurs résultats (du moins sur Windows 8.1 avec la dernière version de XAMPP. Notez que l’ordinateur sur lequel j’ai testé ce logiciel avait également skype). 

Commencez par vous connecter à skype et accédez à "Outils <Options <Avancé <Connexion." Cochez ensuite la case "Utiliser les ports 80 et 443 pour des connexions entrantes supplémentaires". Enregistrez, fermez et quittez Skype.

Ensuite, sur le panneau de configuration de votre XAMPP, cliquez sur "config <my.ini" et modifiez les lignes 19 et 27 (le port doit avoir le port = 3306) de "3306" à "3307".

En outre, vous devrez naviguer vers xampp <phpMyAdmin <config.inc et modifier la ligne 27, ce qui devrait ressembler à quelque chose comme ceci:

$ cfg ['Servers'] [$ i] ['Host'] = '127.0.0.1';

Vous devrez ajouter "3307" comme suit:

$ cfg ['Servers'] [$ i] ['Host'] = '127.0.0.1:3307';

Maintenant, ouvrez votre navigateur et vous devriez voir la page xampp lorsque vous tapez "localhost." De plus, si vous utilisez xampp pour la première fois, un avertissement concernant votre manque de mot de passe (en rose) apparaîtra sur votre localhost/phpmyadmin/page. Pour y remédier facilement, allez dans l'onglet "comptes d'utilisateurs" de phpmyadmin, cliquez sur "modifier les privilèges" et entrez le mot de passe. N'oubliez pas de sauvegarder la version hachée de tous les mots de passe que vous créez, car nous les utiliserons ensuite! -J'ai ouvert un bloc-notes et les ai sauvegardés (et numérotés). Notez que phpMyadmin vous avertira lorsque vous modifierez le mot de passe de votre session actuelle (il apparaîtra en haut de votre page phpMyadmin et est très important, car vous aurez besoin de cette version hachée spécifique de votre mot de passe).

Ensuite, vous devrez accéder à l'emplacement suivant "xampp <phpMyAdmin <config.inc" sur votre ordinateur, puis ouvrir et modifier le fichier à l'aide d'un éditeur de texte. Vous voudrez mettre dans la version hachée de votre mot de passe entre les guillemets simples pour le mot de passe et changer "AllowNoPassword" de true à false. 

Et, cela devrait le faire.

0
Sharendale

si vous avez bloqué mysql de façon indépendante. Vous pouvez arrêter le service mysql si vous exécutez.

0
mhmoudsabry

Je voudrais simplement essayer de réinstaller XAMPP.

0
jacobgelman

Dans mon cas: Je viens de remplacer 

....xampp/mysql/backup files 

dans 

**xampp/mysql/data**

Cela a fonctionné pour moi.

0
SA Soibal

il suffit d’exécuter votre xampp en tant qu’administrateur, cela fonctionne

0
owzy

Pour tous ceux qui ont recherché et appuyé sur ce lien, je l'ai résolu en recherchant simplement mysql notifier et en empêchant mysql de s'exécuter, puis en exécutant à nouveau mysql dans xampp et tout fonctionne. pourquoi ça marche? Je ne suis pas un expert, mais je pense que c'est facile: le portage a déjà été utilisé par notql, il a donc fallu l'arrêter ici et l'exécuter ici.

0
elmaystro

Eh bien, première chose, je sais qu'il est tard, donc je ne sais pas si quelqu'un le votera mais bon, d'accord, ensuite, désinstaller xampp pourrait ne pas vous être utile, car le processus utilisant le port 3306 (le port par défaut de Mysql) sera toujours en cours d'exécution quelque part sur votre système. peut être skype, mais peut-être pas.

le meilleur moyen serait donc de savoir quel processus utilise le port 3306, puis de mettre fin au processus.

afin de savoir quel processus utilise le port 3306, ouvrez la commande Invite et tapez

netstat -n -o -a

vous obtiendrez un écran comme this.

Recherchez ensuite l’adresse portant le numéro de port 3306 .__ et trouvez le PID correspondant.

Ensuite, ouvrez simplement une invite de commande en tant qu’administrateur et tapez

taskkill /F /PID 1234

remplacez 1234 par votre PID respectif . Ensuite, vous pouvez essayer de démarrer mysql et cela fonctionnera.


Et maintenant, si vous êtes paresseux pour refaire cette étape lors du redémarrage de l'ordinateur ,

vous pouvez simplement utiliser le script de lot suivant pour terminer le processus automatiquement et en profiter :)

@echo off
setlocal enableextensions
set "port=3306"
for /f "tokens=1,4,5" %%a in (
    'netstat -aon ^| findstr /r /c:"[TU][CD]P[^[]*\[::\]:%port%"'
) do if "%%a"=="UDP" (taskkill /F /PID %%b) else (taskkill /f /PID %%c)
endlocal
pause

enregistrez-le sous le nom any.bat et lancez-le à chaque fois que vous souhaitez utiliser mysql. :)


0
The SuperKat