Je sais que cette erreur est arrivée souvent mais mon cas est un peu particulier.
En fait Wamp fonctionnait sans problèmes jusqu'a ce que je décide de sécuriser la base de donnée que j'aivais créé dans phpmyadmin avec un mot de passe (toujours dans phpmydamin) une fois le mot de passe entré, paf, une fenetre orange et ces mots cruels :
#1045 - Access denied for user 'root'@'localhost' (using password: NO)
Bon jusque là j'ai pas trop paniqué, je me suis dis qu'il fallait entrer le mot de passe quelque part et là ben rien ne va plus, j'ai mis le mot de passe dans config.inc.php, dans php.ini aussi rien n'y fait. j'ai trouvé un tuto aussi qui n'a rien résolu (http://www.commentcamarche.net/faq/sujet-12341-phpmyadmin-1045-access-denied-for-user-root-localhost). Je me suis dis bah ya qu'a le désinstaller et le ré-installer... ben non, ça ne suffit pas, meme une restauration du systeme n'a rien fait...
alors si il y a quelqu'un qui a une idée, ça serait sympa de m'aider, car là je suis vraiment perdu et j'ai absolument besoin de wamp pour finir ce que j'ai commencé (la mise en place d'un forum...) merci
Si, à la question Enter pasword, la touche Entrée fait sortir de la console, c'est qu'un mot de passe est attribué à root@localhost.
Recommencer en - a - puis rentrer le mot de passe que vous aviez défini précédemment (1) ; normalement, vous devriez pouvoir accéder à MySql.
SELECT User, Host, Password FROM mysql.User ;
Vous donnera tous les comptes utilisateurs (user) hôte (host) déclarés dans MySql avec éventuellement les mots de passe associés, sous forme codée.
(1) Si vous aviez défini un mot de passe avec des caractères accentués dans PhpMyAdmin, cela peut poser problème avec la console MySql. Par défaut, le client texte (Console MySql) est configuré comme utilisant latin1. Or, sous Windows, le client texte est une application en ligne de commande, qui utilise un jeu de caractères cp850 des versions occidentales de Windows. Le fait que le client texte se déclare, à tort, comme Latini auprès de MySQL entraîne une erreur d'interprétation des caractères accentués ou spéciaux (ceux qui vous viennent de la base mais aussi ceux que vous frappez). En corrigeant les variables système afin qu'elles interprètent correctement le texte envoyé par MySQL, vous devriez corriger le problème : SET NAMES cp850 ; mais, cette instruction ne peut être envoyée qu'après le mot de passe.
Pb identique à Bld01, je viens de rajouter un mot de passe à root en passant par privilèges puis après restart des services, impossible de me connecter à Phpmyadmin = je tombe sur l'écran 'Accès refusé' erreur 1045 !!!
En appliquant les conseils donnés plus haut: - a - Icone Wampserver, MySql, Console Mysql
A la question Enter pasword, la touche Entrée ne fait pas sortir de la console
Recommencer en - a - puis rentrer le mot de passe que vous aviez défini précédemment (1) ; normalement, vous devriez pouvoir accéder à MySql. ==> Non, je suis ejecté de suite de la console !
Je n'y connais pas grand chose mais je me doute que c'est une question d'utilisateur et de droit mais OU puis-je configurer tout ca ? J'ai lu dans different post des références au fichier "config.inc.php", mais ou trouver ce fichier ? j'ai bien le fichier "php.ini" ou encore "httpd.conf" mais ne trouve pas de trace de "config.inc.php" !
Si vous ne « sortez » pas de la console MySql en tapant Entrée lors de la demande de mot de passe, mais qu'en revanche vous « sortiez » en rentrant un mot de passe, c'est qu'il n'y a pas de mot de passe.
D'ailleurs, vous devez bien le voir, toujours dans la console, en tapant :
SELECT User, Host, Password FROM mysql.User; puis Entrée
Vous obtiendrez une liste du genre :
+------+-----------+-------------------------------------------+ | User | Host | Password | +------+-----------+-------------------------------------------+ | root | localhost | | | domi | localhost | | +------+-----------+-------------------------------------------+ 2 rows in set (0.00 sec) mysql>
Si le champ password est vide, c'est qu'il n'y en a pas.
Jusque là, vous pouvez voir que l'accès à MySql est bon.
Tapez status pour voir quel est l'utilisateur connecté et quelle est la version de MySql.
Quittez la console par exit.
Le fichier config.inc.php doit être celui de la version de PhpMyAdmin utilisée en l'occurrence la version 3.1.1 G:\wamp\apps\phpmyadmin3.1.1\config.inc.php
Ce qui, dans ce cas, veut dire que le fichier G:\wamp\alias\phpmyadmin.conf DOIT contenir
Alias /phpmyadmin "G:/wamp/apps/phpmyadmin3.1.1/" <Directory "G:/wamp/apps/phpmyadmin3.1.1/"> Options Indexes FollowSymLinks MultiViews AllowOverride all Order Deny,Allow Deny from all Allow from 127.0.0.1 Allow from localhost </Directory>
Merci pour votre réponse mais cela ne résoud rien !
SELECT User, Host, Password FROM mysql.User; Résultat = Error 1142 (42000): select command denied to user ' '@'localhost' for table 'user'
Status = Connection id = 3 Current user : root@localhost SSL : not in use Protocol version : 10 Connection : localhost via TCP/IP
Le contenu de mon fichier config.inc.php est identique au votre. En lancant phpMyAdmin (version 2.11.6), j'ai toujours mon erreur 1045 acces refusé !
J'aurai mieux fait de ne pas tenir compte du message afficher signalant le defaut de sécurité, et de ne pas ajouter un mot de passe comme je l'ai fait car depuis j'ai l'impression de m'être attribué un compte sans aucun droit !!!!!
> SELECT User, Host, Password FROM mysql.User; > Résultat = Error 1142 (42000): select command denied > to user ' '@'localhost' for table 'user'
> Status = > Connection id = 3 > Current user : root@localhost
Utilisateur anonyme pour la commande Select et utilisateur courant égal « root ». Pour « forcer » MySql a utiliser le compte le mieux défini, nous allons mettre un mot de passe à root@localhost. Donc, toujours dans la console MySql, tapez :
SET PASSWORD FOR root@localhost = PASSWORD('secret');
Note : laisser 'secret' comme mot de passe, il sera toujours possible de le changer via les privilèges de PhpMyAdmin car on connait sa représentation codée qui est : *14E65567ABDB5135DOCFD9A70B3032C179A49EE7
Quittez la console par exit.
Quittez Wampserver
Dans le fichier G:\wamp\apps\phpmyadmin3.1.1\config.inc.php :
Auquel cas le nom d'utilisateur et le mot de passe seront demandés lors du lancement de PhpMyAdmin. Cette seconde solution a ma préférence, du moins pour les essais, car on force le nom utilisateur.
Non, je n'ai rien supprime, seulement voulu rajoute un mot de passe à 'localhost', je suis donc allez en passant par 'privilèges' sur l'enregistrement avec localhost et ai rajoute mon mdp, apres un restart general, impossible de me connecter. Apache 2.2.8 Mysql 5.0.51b Php 5.2.6 PhpMyAdmin 2.11.6 Tout cela installé automatiquement avec wampserver.
Le mot de passe, vous l'avez ajouté, non pas « à 'localhost' » mais à un compte constitué de deux entités inséparables : user et host (utilisateur et hôte). Ëtes-vous certain que ce mot de passe à bien été ajouté au compte root@localhost ? D'autre part, j'ai des doutes sur la validité de la table mysql.user
Arrivé à ce point, le plus simple ne serait-il de réinstaller Wampserver (La version que vous avez actuellement et qui fonctionnait), mais pas n'importe comment, c'est-à-dire pas par dessus la version actuelle, ce qui ne restaurera pas les tables mysql.
- Sauvegarder le contenu du dossier wamp/www/ sauf le fichier index.php, c'est-à-dire vos sites locaux
- Sauvegarder le contenu du dossier wamp\bin\mysql\mysql5.0.51b\data\ sauf le dossier mysql, c'est-à-dire vos bases de données
- Vous pourrez aussi sauvegarder, pour éviter d'avoir à les re-modifier après, les fichiers : - a - wamp\bin\apache\apache2.2.8\conf\httpd.conf - b - wamp\bin\apache\apache2.2.8\conf\extra\httpd-vhosts.conf - c - wamp\bin\apache\apache2.2.8\bin\php.ini - d - wamp\bin\mysql\mysql5.0.51b\my.ini - e - wamp\apps\phpmyadmin2.11.6\config.inc.php
- Via paramètres, Panneau de configuration, Ajout/Suppression de programmes, désinstaller Wampserver
- Supprimer totalement le dossier wamp (contenu inclus)
- Redémarrer la machine
- Installer Wampserver
- Sans restaurer aucun fichier, lancer Wampserver et vérifier les accès localhost et PhpMyAdmin
- Quitter Wampserver
Restaurer les fichiers de configuration (- a- à - e -)
Restaurer vos sites (wamp/www/)
Restaurer vos bases de données wamp\bin\mysql\mysql5.0.51b\data\
Ok, j'ai tout recharger en suivant l'ordre conseillé et tout est revenu en place, ouf ! Je récupère mon bon vieux message qui me dit :
Votre fichier de configuration fait référence à l'utilisateur root sans mot de passe, ce qui correspond à la valeur par défaut de MySQL. Votre serveur MySQL est donc ouvert aux intrusions, et vous devriez corriger ce problème de sécurité.
Mais je crois que je vais le laisser bien tranquille pour eviter toute mauvaises manip
mosquitout a écrit: ------------------------------------------------------- > Ok, j'ai tout recharger en suivant l'ordre conseillé et tout est revenu en place, ouf !
J'en suis bien content pour vous.
> Mais je crois que je vais le laisser bien tranquille pour éviter toute mauvaises manip
Si vous restez en « local » sans mettre en ligne, ça ne pose aucun problème.
Néanmoins, je vous conseille quand même d'aller dans les privilèges de PhpMyAdmin et de supprimer tous les utilisateurs SAUF root@localhost.
Vous pouvez, ensuite, ajouter un utilisateur (sans mot de passe) du type toto@localhost, mais avec privilèges restreints comme uniquement : SELECT, INSERT, UPDATE, DELETE et de ne vous servir que de cet utilisateur dans vos accès aux bases de données via PHP.
D'autre part, si jamais vous mettez des mots de passes, n'utilisez pas de caractères accentués pour les problèmes de jeux de caractères différents entre PhpMyAdmin et la console MySql que j'ai déjà évoqués dans une autre contribution.
Merci mais après avoir paginer x fois, n'ai pas trouvé. Comme votre forum contient 110 pages, n'y a t-il pas un moyen (espace 'recherche') pour retrouver ce post facilement ?
Bien sûr que oui : [forum.wampserver.com] = bouton recherche en haut ^^ par contre, il faut cliquer sur "Cliquer pour retourner à� la recherche." afin d'afficher le résultat.
mosquitout a é;crit: ------------------------------------------------------- > Pourquoi par defaut trouve t-on ds les privilèges 6 utilisateurs ? > 3 'N'importe quel' et 3 'Root'
Je n'en sais rien. Et, tout comme vous, j'ai « subit » ce problème. C'est pourquoi, comme vous avez pu le lire dans ma contribution sur « Les utilisateurs MySql », je me suis penché sur le problème.
Je préfèrerais - et de loin - qu'une installation d'une version de MySql n'ait qu'un seul utilisateur : root@localhost, sans mot de passe et avec tous les privilèges.
Peut-être que dans les prochaines versions ce sera le cas, je l'espère.