Dans phpmyadmin, j'ai créé un utilisateur appelé "edward" avec mot de passe et tous les privilèges:
Pourtant, lorsque j'essaie de me connecter via phpmyadmin, il est dit "Impossible de se connecter au serveur MySQL".
Lorsque j'essaie de me connecter sur la ligne de commande (Windows 7), cela ne me permet pas non plus:
Mais si je me connecte sans mot de passe, j'entre:
et me montre seulement deux des tableaux.
Je suis sûr que le mot de passe est correct et j'ai créé plusieurs utilisateurs qui ne peuvent pas tous se connecter avec leur mot de passe, quel que soit le nombre de droits que je leur donne.
Comment puis-je faire en sorte que cet utilisateur puisse se connecter uniquement avec un mot de passe et voir toutes les bases de données?
Addenda:
Voici une capture d'écran de phpmyadmin montrant que "edward" a autant de droits que "root":
la source
SET PASSWORD FOR 'edward'@'%' = PASSWORD( 'YOU PASSWORD HERE' )
.Réponses:
Parce que vous lui avez accordé l'accès sans mot de passe ... Si un utilisateur n'a pas de mot de passe, la connexion avec un échouera toujours.
Définissez le mot de passe de l'utilisateur, alors seulement vous pourrez utiliser
-p
En outre, vous souhaiterez peut-être supprimer l'
Any
utilisateur.la source
set password for 'edward'@'%' = password('test');
mais je ne peux toujours pas me connecter avec le mot de passe, c'est comme si le mot de passe n'était pas en cours de définition, mais s'affiche en cours de définition%
hôte, cependant, vous y accédezlocalhost
, ce qui fait une différence. Vous disposez probablement d'une autre autorisation, qui correspond à n'importe qui sur localhost, sans mot de passe. l'utilisateur avec l'hôte spécifié est une définition plus forte%
pourlocalhost
et maintenant je peux connecter, et aussi, comme vous l' avez dit, si je retire le « tout utilisateur » entrée, je peux utiliser%
dans edward, merci.Très probablement, vous avez accordé des privilèges sur le serveur, mais pas sur les bases de données. Essayer
GRANT ALL ON *.* TO 'edward' IDENTIFIED BY 'password'
la source
*.*
, non*
- j'ai modifié ma réponse.Le même problème n'a pas pu le comprendre pour rien. Effacé la base de données, supprimé le répertoire et réinstallé sur Centos 6.3. La ligne de commande affiche des données qui sont ensuite défilées rapidement et qui ont résolu le problème pour moi. Collé ci-dessous.
N'oubliez pas de définir un mot de passe pour l'utilisateur racine MySQL!
Pour ce faire, démarrez le serveur, puis exécutez les commandes suivantes:
Vous pouvez également exécuter:
Le dernier est ce qui a fonctionné pour moi. J'ai entré un mot de passe root et cela a réellement fonctionné. La saisie d'un mot de passe root en utilisant mysqladmin sans exécuter ce script m'a donné les mêmes erreurs qu'Edward a signalées. Exécutez le script, répondez aux questions, maintenant l'utilisation du mot de passe root fonctionne et la connexion sans le mot de passe est refusée. Celui-ci m'a rendu fou aussi. J'ai installé mysql plusieurs fois et c'est la première fois que j'ai ce problème. Je ne sais pas si c'est une chose yum / centos car sur Ubuntu et Fedora, je n'ai pas eu ce problème.
la source