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?
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
Dans mon cas, j'ai fait deux choses:
xampp/mysql/backup
dans xampp/mysql/data
Cela a fonctionné pour moi :)
Vous devez:
Cela a fonctionné pour moi
Un serveur MySQL peut-être déjà installé sur votre ordinateur. Essayez de le désinstaller et démarrez MySQL sur XAMPP.
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.
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.
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.
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.
si vous avez bloqué mysql de façon indépendante. Vous pouvez arrêter le service mysql si vous exécutez.
Je voudrais simplement essayer de réinstaller XAMPP.
Dans mon cas: Je viens de remplacer
....xampp/mysql/backup files
dans
**xampp/mysql/data**
Cela a fonctionné pour moi.
il suffit d’exécuter votre xampp en tant qu’administrateur, cela fonctionne
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.
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. :)