web-dev-qa-db-fra.com

Correction d'accès refusé pour l'utilisateur 'root' @ 'localhost' pour phpMyAdmin

J'utilise WAMP Server 2.2 sur un PC. Dans phpMyAdmin (version 5.5.24), j'ai édité l'utilisateur 'root' (avec l'hôte 'localhost') et lui ai attribué un mot de passe 'root'. Cela s'est avéré être une grosse erreur que j'essaie de réparer. Maintenant, quand je vais à localhost/phpmyadmin / je reçois le menu des bases de données sur la gauche, mais le cadre principal a une erreur qui dit:

#1045 - Access denied for user 'root'@'localhost' (using password: NO)
phpMyAdmin tried to connect to the MySQL server, and the server rejected the 
connection. You should check the Host, username and password in your 
configuration and make sure that they correspond to the information given 
by the administrator of the MySQL server.

Si je vais à 127.0.0.1/phpmyadmin, je ne reçois pas l'erreur et tout fonctionne correctement.

J'ai essayé de changer le mot de passe de l'utilisateur en arrière à aucun mot de passe; J'ai essayé de modifier le fichier config.inc.php pour ajouter le nouveau mot de passe (mais cela a rendu l'erreur de phpMyAdmin complètement); J'ai essayé de supprimer et de recréer l'utilisateur root/localhost. Rien ne semble fonctionner. L'utilisateur root/localhost semble ne pas avoir de mot de passe et tous les privilèges, mais l'erreur persiste.

Des idées ou comment je peux obtenir l'accès de cet utilisateur à la normale sans avoir à réinstaller WAMP?

62
Luke

Trouver le fichier config.inc sous C:\wamp\apps\phpmyadmin3.5.1 À l'intérieur de ce fichier, trouver cette ligne

$cfg['Servers'][$i]['password'] =";

et le remplacer par

$cfg['Servers'][$i]['password'] = 'Type your root password here';
77
Nikhil G

J'ai eu le même problème après que j'ai changé les mots de passe dans la base de données .. ce que j'ai fait était l'édition du mot de passe mis à jour que j'avais changé plus tôt et je n'ai pas mis à jour dans le fichier config.inc.php et le même nom d'utilisateur sous - D:\xamp\phpMyAdmin\config.inc

$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = **'root'**;
$cfg['Servers'][$i]['password'] = **'epufhy**';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Lang'] = '';
23
Ezra A.Mosomi

Après avoir changé le mot de passe de ma "racine" dans la page phpMyAdmin, j'ai eu le même problème et j'ai également recherché les solutions sur Internet, mais sans obtenir la réponse dont j'avais besoin. Je vérifie donc la documentation dans le répertoire phpMyAdmin.

Aller à et éditer le fichier

\modules\phpmyadmin414x140123114237\config.sample.inc.php

cherche ligne

$cfg['Servers'][$i]['auth_type'] = 'config'

et remplacez le paramètre 'config' par 'http' et cela vous permettra de saisir le nom d'utilisateur et le mot de passe lorsque vous vous rendrez sur votre page phpMyAdmin via votre navigateur.

OU

consultez la documentation dans le même répertoire phpMyAdmin (phpmyadmin414x140123114237\doc\html) pour obtenir de l'aide et recherchez $cfg['Servers'][$i]['auth_type']. Vous verrez alors 4 options pour vous connecter à votre page phpMyAdmin.

14

Recherchez le fichier config.inc.php sous C:\xampp\phpMyAdmin et ouvrez-le dans n’importe quel éditeur. Trouvez la ligne suivante:

$cfg['Servers'][$i]['password'] = '  ';

Entrez le mot de passe choisi dans les guillemets. Aussi, pour que localhost/phpmyadmin demande un nom d'utilisateur et un mot de passe, recherchez la ligne suivante:

$cfg['Servers'][$i]['auth_type'] = 'config';

Remplacez la ligne ci-dessus par:

$cfg['Servers'][$i]['auth_type'] = 'cookie';
5
shubham balyan

Bien .. Cela me semble très étrange, mais ça a fonctionné tout à coup !!

Ce que j'ai fait exactement était:

  1. Accédez au dossier phpMyAdmin et modifiez le fichier "config.inc.php".
  2. A cherché la ligne: $ cfg ['Servers'] [$ i] ['password'] = '';
  3. Ajout de n'importe quel mot de passe entre '', disons '1234'
  4. Reloaded localhost/phpmyadmin & 127.0.0.1/phpmyadmin (les deux ont montré la même erreur)
  5. Rétabli "config.inc.php" à l'ancien état (enlevé le mot de passe)
  6. Refait l'étape 4

Et soudain cela a fonctionné!

4
Hazem Elraffiee

utiliser $cfg['Servers'][$i]['auth_type'] = 'config'; n'est pas sûr, je pense.

l'utilisation de cookies avec $cfg['Servers'][$i]['auth_type'] = 'cookie'; est meilleure, je pense.

J'ai aussi ajouté:

$cfg['LoginCookieRecall'] = true;

$cfg['LoginCookieValidity'] = 100440;

$cfg['LoginCookieStore'] = 0;  //Define how long login cookie should be stored in browser. Default 0 means that it will be kept for existing session. This is recommended for not trusted environments.
$cfg['LoginCookieDeleteAll'] = true; //If enabled (default), logout deletes cookies for all servers, otherwise only for current one. Setting this to false makes it easy to forget to log out from other server, when you are using more of them.

J'ai ajouté ceci dans phi.ini

session.gc_maxlifetime=150000
3
nyxee

Si vous avez un mot de passe pour mysql, écrivez comme mentionné ci-dessous:

Recherchez le fichier config (dot) inc sous C:\wamp\apps\phpmyadmin3.5.1 Dans ce fichier, recherchez cette ligne.

$cfg['Servers'][$i]['password'] =";

et le remplacer par

$cfg['Servers'][$i]['password'] = **'your-password'**;

3
simer

Pour résoudre l'erreur ci-dessus: -

a)  Open Mysql console from the tray of WAMP server

b)  It will ask for password(you might have set this password earlier when u installed MySql in your system)(In my case it is admin)

c)  Enter admin (press enter)

Maintenant, cela signifie que votre phpmyadmin n'assume aucun mot de passe pour votre MySql et est incapable de se connecter à MySql, mais que vous êtes capable de connecter votre serveur MySql en fournissant un mot de passe.

For this Open config.inc file from the below path
C:\wamp\apps\phpmyadmin4.1.14

Et remplace cette ligne

$cfg['Servers'][$i]['password'] =’ ’;
to `$cfg['Servers'][$i]['password'] = 'admin';`

J'espère que ça va marcher ..

2
Henry Disoza

J'utilise cette URL pour entrer phpMyAdmin http: // localhost: 2145/phpmyadmin mais l'erreur suivante est générée:
"phpMyAdmin a essayé de se connecter au serveur MySQL, et le serveur a rejeté la connexion. Vérifiez l'hôte, le nom d'utilisateur et le mot de passe de votre configuration et assurez-vous qu'ils correspondent aux informations fournies par l'administrateur de MySQL. serveur"
Mon fichier config.inc.php est

$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['Host'] = 'localhost:2145';
$cfg['Servers'][$i]['connect_type'] = 'cookie';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = true;
/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controlhost'] = '';
// $cfg['Servers'][$i]['controlport'] = '';
$cfg['Servers'][$i]['controluser'] = '';
$cfg['Servers'][$i]['controlpass'] = '';

ce changement résout l'erreur pour moi

$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
/* Server parameters */
$cfg['Servers'][$i]['Host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = true;

puis

Sudo service mysql stop
/opt/lampp/lampp start

et problème résolu

2
Muhammad Aqeel

Ce qui a fonctionné pour moi:

Allez à config.inc.php

Modifiez $ cfg ['Servers'] [$ i] ['AllowNoPassword'] = true; to $ cfg ['Servers'] [$ i] ['AllowNoPassword'] = false;

Change $ cfg ['Servers'] [$ i] ['password'] = '';

à

$ cfg ['Servers'] [$ i] ['password'] = '';

Changement

$ cfg ['Servers'] [$ i] ['auth_type'] = 'config';

à

$ cfg ['Servers'] [$ i] ['auth_type'] = 'http';

Recharger la page http: // localhost/phpmyadmin

Type: root pass: (vide)

Maintenant vous y avez accès. :)

2
debeka

@Dagon a eu la bonne idée mais était un peu court sur les détails.

Si vous utilisez l'accès 127.0.0.1/phpmyadmin et examinez de près les utilisateurs configurés dans MysQL, vous devriez voir 3 versions du nom d'utilisateur root.

En effet, dans MySQL, chaque ID utilisateur est associé à un hôte, c’est-à-dire au PC (adresse IP) à partir duquel l’utilisateur est autorisé à se connecter. Ainsi, vos 3 utilisateurs 'root' sont en fait le même ID utilisateur qui est autorisé à se connecter à partir de 3 hôtes distincts. Normalement, la 'racine' présente 3 configurations HOSTS, 127.0.0.1, localhost et :: 1

Ceux-ci sont :-

localhost est un alias pour THIS MACHINE créé à partir de votre fichier HOSTS (c:\windows\system32\drivers\etc\hosts)

127.0.0.1 est l'adresse IP de bouclage IPv4 de THIS MACHINE

:: 1 est l'adresse IP de bouclage IPv6 de CETTE MACHINE

Ce qui vous arrive probablement, c’est que vous avez défini un mot de passe pour [email protected] mais aucun des autres. Maintenant, votre navigateur décidera "arbitrairement" d'utiliser :: 1 ou 127.0.0.1 comme adresse IP de l'hôte. Ainsi, lorsqu'il utilisera :: 1, votre connexion échouera.

Alors connectez-vous en utilisant 127.0.0.1/phpmyadmin et changez le nom de mot de passe de tous les 3 utilisateurs 'root' pour que vous ne voyiez plus ce problème.

Assurez-vous également que votre fichier HOSTS contient ces 2 entrées.

127.0.0.1  localhost
::1        localhost
2
RiggsFolly

Notez également que "setup" (c'est-à-dire localhost/phpmyadmin/setup) comporte une erreur dans la façon dont il gère l'option "pas de mot de passe". Bien que cela crée une ligne qui dit:

$cfg['Servers'][$i]['nopassword'] = true;

le nom réel du paramètre devrait être comme indiqué ici:

$cfg['Servers'][$i]['AllowNoPassword'] = true;

Cette erreur "Setup" existe à compter d'aujourd'hui, le 20 octobre 2015.

1
IAM_AL_X

xampp\phpMyAdmin/config.inc

Trouver-

$ cfg ['Servers'] [$ i] ['auth_type'] = 'config'

et changez la 'config' en 'http' et cela vous permettra de saisir le nom d'utilisateur et le mot de passe lorsque vous vous rendrez sur votre page phpMyAdmin en utilisant votre navigateur.

1
Masud

j'ai aussi fait face à ce problème,

j'ai trouvé le champ mot de passe était vide dans le fichier de configuration de phpmyadmin. Je mets ce mot de passe que j'ai rempli dans les paramètres de base de données. Maintenant ça fonctionne bien

1
pradeep joshi

Essayez de trouver $ cfg ['Servers'] [$ i] ['password'] = ''; dans le fichier de configuration situé dans wamp/scripts/config.inc.php

Puis définissez le mot de passe sur votre mot de passe mysql et actualisez PhpmyAdmin

1
mohit sharma