web-dev-qa-db-fra.com

phpMyAdmin lance un # 2002 ne peut pas se connecter au serveur mysql phpmyadmin

J'ai installé le serveur MySQL Enterprise 5.1 sur mon ordinateur local et je souhaite maintenant installer phpMyAdmin, mais cela ne fonctionne pas.

J'ai récupéré phpMyAdmin dans le répertoire racine de mon serveur et j'ai accédé à l'option "localhost/phpMyAdmin/setup/index.php", j'ai démarré un nouveau serveur et le seul paramètre que j'ai modifié est la saisie de mon mot de passe MySQL dans le champ "Mot de passe pour l'authentification de configuration".

Alors maintenant, lorsque j'essaie de me connecter, un message d'erreur indiquant que "# 2002 ne peut pas se connecter au serveur mysql phpmyadmin" s'affiche.

Quelqu'un sait-il ce qui ne va pas? J'ai ce problème depuis hier. 

40
narancha

Si vous obtenez l'erreur #2002 Cannot log in to the MySQL server lors de la connexion à phpmyadmin, essayez de modifier phpmyadmin/config.inc.php et modifiez: 

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

à:

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

Solution from Le blog de Ryan

Edit (20-Mar-2015):

Notez que si vous êtes sur une nouvelle installation, config.inc.php peut ne pas exister. Vous devez renommer/copier config.sample.inc.php, puis modifier la ligne correspondante.

118
kouton

C'est vieux mais comme c'est le premier résultat sur Google, 

Veuillez noter que cela se produit également lorsque votre service MySql est en panne,

J'ai résolu ce problème en redémarrant simplement le serveur MySQL en utilisant:

/etc/init.d/mysql restart

dans SSH (la commande concerne un serveur CentOS/CPanel)

24
Vladimir

Contexte: J'utilise Linux Mint 13. Dans mon cas, cette erreur s'est produite lorsque j'ai redémarré l'ordinateur et que mon serveur DHCP a attribué une nouvelle adresse IP locale (de 192.168.0.2 à 192.168.0.4) à mon bureau.

Sudo gedit /etc/mysql/my.cnf

Mettre à jour 

bind-address = 192.168.0.2

à

bind-address = localhost

Cela a résolu le problème. Prendre plaisir.

9
Knight

Cela peut également être causé si vous oubliez (comme je l'ai fait) de déplacer config.inc.php à sa place après avoir terminé le script d'installation.

Après avoir créé le dossier config, effectué chmod o+rw config, passé à localhost/phpmyadmin/setup et suivi ces étapes, vous devez revenir à la ligne de commande et terminer les tâches:

mv config/config.inc.php .         # move file to current directory
chmod o-rw config.inc.php          # remove world read and write permissions
rm -rf config                      # remove not needed directory

Voir les instructions complètes sur https://phpmyadmin.readthedocs.org/fr/latest/setup.html

4
Geoffrey Booth

Après avoir essayé toutes les suggestions ci-dessus, voici ce qui a corrigé mon erreur # 2002.

Ajoutez la ligne suivante à votre fichier config.inc.php et remplacez le numéro par votre port MySQL:

$cfg['Servers'][$i]['port'] = '3307'; // MySQL port

J'avais plusieurs instances mysql installées et dans ce cas, j'avais mis à jour my.ini pour exécuter MySQL sur le port 3307, mais je n'avais pas mis à jour phpMyAdmin pour refléter le nouveau port. Dans mon cas, la ligne pour le port n'existait pas dans le fichier config.inc.php, je ne savais donc pas qu'elle devait être mise à jour.

4
jookyone

Je suis passé par pratiquement tout le stackoverflow pour cette erreur et rien n'a résolu mon problème. J'ai pu me connecter à mysql directement à partir de la ligne de commande linux, mais avec le même utilisateur et le même mot de passe, je n'ai pas pu me connecter à phpmyadmin.

Je me suis donc cogné la tête contre le mur pendant une demi-journée, jusqu'à ce que je me rende compte qu'il ne lisait même pas le fichier config.inc.php sous/etc/phpmyadmin (le seul endroit où il se trouvait, d'après "find/-iname config.inc .php ". J'ai donc changé l'hôte dans /usr/share/phpMyAdmin/libraries/config.default.php et cela a finalement fonctionné.

Je sais qu'il y a probablement un autre problème avec la raison pour laquelle il ne lit pas la configuration dans le dossier/etc/phpmyadmin, mais cela ne me dérange pas pour l'instant: P

tldr; si vos paramètres ne semblent pas s'appliquer du tout, essayez de modifier le fichier /usr/share/phpMyAdmin/libraries/config.default.php.

3
mbommel

Avez-vous configuré MySQL sur votre machine? On dirait que vous utilisez Windows. MySQL s'exécute comme un "service" sur votre ordinateur (cliquez avec le bouton droit sur Poste de travail -> Gérer -> Services).

3
amphetamachine

Cela m'est arrivé lorsque j'ai changé le type d'instance de mon serveur AWS.

#2002 Cannot log in to the MySQL server peut également se produire lorsque le service mysqld n'est pas démarré. 

Donc tout d'abord vous devez exécuter:

$ Sudo service mysqld restart

Cela vous donnera:

$ Sudo service mysqld restart
Stopping mysqld:                                           [  OK  ]
Starting mysqld:                                           [  OK  ]

Après cela, l'erreur ne viendra pas.

P.S. Sur les instances EC2, il convient également de changer l'hôte de localhost à 127.0.0.1 comme indiqué dans la réponse en haut.

2
driftking9987

J'ai aussi vécu la même chose, espérons que cela aide. 

cd /etc/init.d
./mysql start

veuillez vous connecter pour accéder à mysql et phpmyadmin

2
Eka Wijaya

Dans mon système, config.inc.php n'existait pas, mais config.sample.inc.php existait. Essayez de copier l'exemple de script dans config.inc.php

1
Vikram

Avait ce problème un certain nombre de fois sur notre configuration, alors j'ai fait une liste de contrôle.

Cela suppose que vous souhaitiez que phpMyAdmin se connecte localement à MySQL en utilisant un socket UNIX plutôt que TCP/IP.

Les sockets UNIX doivent être légèrement plus rapides car ils ont moins de charge système et peuvent être plus sécurisés car ils ne sont accessibles que localement.

Un service

  • Le service mysqld est-il en cours d'exécution? service mysqld status
  • .. Si non service mysqld start
  • La configuration a-t-elle changé depuis le début du service? service mysqld restart

Configuration de MySQL (my.cnf)

  • Vérifiez qu’il n’existe pas de protocole client non-socket, par exemple. protocol=tcp
  • Vérifiez que l'emplacement de la prise est accessible et dispose des autorisations appropriées

PHP Config (php.ini)

Si vous pouvez vous connecter localement à partir de la ligne de commande, mais pas à partir de phpMyAdmin, et que le fichier de socket ne se trouve pas à l'emplacement par défaut:

  • Définissez les sockets mysqli par défaut sur le nouvel emplacement: mysqli.default_socket = *location*
  • ... je règle également les pdo_myql.default_socket et mysql.default_socket juste pour être sûr
  • Redémarrez votre service Web (httpd dans mon cas) service httpd restart

Config.phpMyAdmin (config.inc.php)

  • Vérifiez que l'hôte est défini sur localhost: $cfg['Servers'][$i]['Host'] = 'localhost';
  • L'emplacement de la prise peut également être défini ici: $cfg['Servers'][$i]['socket'] = '*location*';

N.B.  

Comme souligné par @chk; Si vous définissez $cfg['Servers'][$i]['Host'] de localhost sur 127.0.0.1, la connexion utilise simplement TCP/IP plutôt que le socket et constitue davantage une solution de contournement qu'une solution.

Le paramètre de configuration MySQL bind-address= affecte également les connexions TCP/IP. 

Si vous n'avez pas besoin de connexions distantes, il est recommandé de désactiver l'écoute TCP/IP avec skip-networking.

1
Arth

J'ai eu le même problème après que le serveur ait été attaqué en utilisant un DDoS (en réalité un outil de test d'intrusion).

Je me suis d'abord dirigé vers /etc/var/mysql/error.log pour voir que InnoDB avait un verrou de fichier.

Le problème a été immédiatement résolu en redémarrant le serveur, mais cela n’est pas pérenne.

1
igraczech
  • Cliquez avec le bouton droit sur Poste de travail -> Gérer -> Services.
  • Choisissez "Services" sous "Services et applications" dans le volet de droite.
  • Recherchez ensuite le service "Développement Zend".
  • Lorsque vous le trouvez, double-cliquez pour démarrer ce service.

Maintenant, vous devriez pouvoir vous connecter à phpMyAdmin.

1
AungKyaw Nyein

Pour ceux qui rencontrent cette erreur lorsqu'ils travaillent avec WAMP/XAMP sur une machine Windows.

Cela peut vous aider.

Votre solution est de

  • net stop mysql 
  • Effacer les journaux binaires (et le fichier d'index des journaux binaires) 
  • SI vous ne savez pas où ils se trouvent, localisez my.ini sur votre PC. 
  • Ouvrez my.ini dans le Bloc-notes, recherchez l’option log-bin ou log_bin. 
  • Recherchez l'option datadir 
  • Si log-bin n'a qu'un nom de fichier, regardez à l'intérieur du dossier spécifié par datadir. 
  • Si log-bin inclut un chemin d'accès et un nom de fichier, recherchez dans le dossier spécifié par log-bin. 
  • Ouvrez le dossier souhaité dans Windows Explorer
  • Supprimer les journaux binaires Il devrait y avoir un fichier dont l’extension de fichier Est .index. Supprimer ceci aussi net start mysql

Veuillez NE PAS EFFACER ib_logfile0 ou ib_logfile1 lorsque vous rencontrez des problèmes avec le journal binaire.

La réponse est sur dba.stackexchange

0
dreboi

C'est la ligne suivante dans votre fichier php.ini

mysql.default_socket = "MySQL"

à

mysql.default_socket = /var/run/mysqld/mysqld.sock
0
Ikelie Cyril

Vérifiez si votre serveur est en cours d'exécution ou non.

0
Rajilesh Panoli

Après de nombreuses tentatives pour résoudre ce problème, il a été découvert que le problème était lié au fait que les utilisateurs de Mysql n'étaient pas autorisés à se connecter.

netstat -na | grep -i 3306

S'il écoute sur toutes les interfaces, vous pouvez affecter n'importe laquelle de vos interfaces à cette

$cfg['Servers'][$i]['Host'] = 'ANY INTERFACE';

Essayez de vous connecter en utilisant l'adresse IP ci-dessus en utilisant la ligne de commande

mysql -u bla -p -h <Above_IP_address>

Si cela fonctionne, votre phpmyadmin fonctionnera également. Dans le cas contraire, corrigez la table mysql.user afin que la commande ci-dessus fonctionne et vous permette de vous connecter à mysql.

0
niroshan.l

Cliquez avec le bouton droit sur Poste de travail -> Gérer -> Services Choisissez "Services" sous "Services et applications" dans le volet de droite Recherchez ensuite le service "mysql" . Lorsque vous le trouverez, double-cliquez pour démarrer ce service.

Maintenant, vous devriez pouvoir courir et vous connecter à PhpMyAdmin

0
Masivuye Cokile

mon problème est résolu par cette étape

  1. apt-get installer mysql-server phpmy admin
  2. /etc/init.d/mysql restart
  3. terminé.
0

CAUTION: This method completely removes MySQL data!

J'ai le même problème dans Ubuntu 12.10, mysql 5.5

J'ai testé beaucoup de réponses liées à mon problème mais aucun travail de thème

enfin je devais réinstaller complètement mon serveur mysql puis j'installe à nouveau le serveur Mysql

mais vous devez savoir que vous devez supprimer tous les répertoires liés à Mysql J'utilise ce lien pour supprimer complètement mysql

Sudo apt-get remove --purge mysql-server mysql-client mysql-common
Sudo apt-get autoremove
Sudo apt-get autoclean
Sudo deluser mysql
Sudo rm -rf /var/lib/mysql
Sudo rm -rf /etc/mysql
Sudo rm -rf /var/lib/mysql
Sudo rm -rf /var/run/mysqld

et puis vous réinstallez LAMP par tasksel

Supprimer complètement MySQL 5.5

https://serverfault.com/questions/254629/unable-to-install-mysql-server-in-ubuntu/296928#296928

0
masoud2011

Ce problème se produit lorsque MySQL est déjà installé sur votre ordinateur ou si vous avez modifié le numéro de publication du service MySql, qui est 3306 (valeur par défaut). Pour résoudre ce problème, vous devez demander à phpMyAdmin de rechercher un autre port au lieu de 3306. Pour ce faire, accédez à C:\xampp\phpMyAdmin (emplacement par défaut) et ouvrez Config.inc et ajoutez cette ligne $cfg['Servers'][$i]['port'] = '3307';after $cfg['Servers'][$i]['AllowNoPassword'] = true; Redémarrez les services et cela devrait maintenant fonctionner. 

0
Devashish Pawar

C'est parce que votre système a deux installations de paquets "mysql". Une installation a été faite avec xampp/lampp et une autre avec le paquet mysql-debain. Pour résoudre le problème, allez simplement dans "Gestionnaire synaptic" et supprimez mysql, vous pourrez alors accéder à mysql à partir du serveur xampp.

Remarque: la suppression de mysql du gestionnaire synaptic n’affecte pas mysql qui a été installé via le serveur xampp/lampp. Alors ne t'inquiète pas!

0
Zubaeyr

Pour Ubuntu 14.04 et 16.04, vous pouvez appliquer les commandes suivantes

Tout d’abord, vérifiez que le service MySQL est en cours d’exécution ou non. 

Etat du service mysql Sudo

Maintenant, vous pouvez voir que vous affichez un message comme celui-ci: mysql stop/waiting .

Maintenant, appliquez la commande: Sudo service mysql restart !

Maintenant, vous pouvez voir que vous affichez un message comme celui-ci: mysql start/running, processus 8313.

Maintenant, allez dans le navigateur et connectez-vous en tant que root (nom d'utilisateur) et root (mot de passe) et vous serez connecté avec succès

0
Ashutosh Batra

Dans Ubuntu OS dans le fichier '/etc/php5/Apache2/php.ini', effectuez les configurations qui this page sont expliquées.

0
Raha

Pour moi le problème a été résolu en supprimant un fichier .pid nommé d'après mon ordinateur:

Sudo rm /var/mysql/computername.pid
0
Martin Hagwall

Juste au cas où quelqu'un aurait plus de problèmes, c'est une solution assez sûre.

vérifiez votre fichier etc/hosts et assurez-vous d'avoir un utilisateur root pour chaque hôte.

c'est à dire. 

127.0.0.1   home.dev

localhost   home.dev

Par conséquent, j'aurai 2 utilisateurs ou plus en tant que root pour mysql:

root@localhost
[email protected]

voici comment j'ai résolu mon problème.

0
Victor Bojica

J'ai eu un problème avec le chemin du service MySQL dans le registre de Windows 7 Ce problème n'a pas été modifié avec la nouvelle version de XAMPP ou easyPHP Installée.

Donc, si quelqu'un a le même problème (erreur # 2002, phpMyAdmin ne peut pas être lancé Démarré), vous pouvez rechercher le regedit gagnant pour 'my.ini' et échanger le chemin Du nouveau paquet.

Par exemple, j'ai échangé à quelques endroits l'ancien chemin:

C:\EASYPH ~ 1.1VC\binaries\mysql\bin\eds-mysqld.exe --defaults-file = C:\EASYPH ~ 1.1VC\binaries\mysql\my.ini MySQL

avec le plus récent:

c:\xampp\mysql\bin\mysqld.exe --defaults-file = c:\xampp\mysql\bin\my.ini mysql

Il est étrange que personne n'ait déjà décrit ce problème sur le Web!

0
Ivan Kirov