Accès refusé pour l'utilisateur 'test'@'ip'(using password: YES)
J'ai trouvé beaucoup de postes pour cette erreur, tout essayé mais toujours la même erreur.Je suis en train d'essayer de se connecter à mysql sur le serveur ubuntu à partir de mon application remote et le client mysql. Permettez-moi de poster toutes les mesures que j'ai prises :
- Arrêter le pare-feu sur le serveur ubuntu : iptables -F. Aussi essayé avec sudo service ufw arrêter.
- A commenté: "bind-address" dans /etc/mysql/my.cnf et au redémarrage de mysql.
- Ajout de l'utilisateur dans mysql : CRÉER un UTILISATEUR 'test'@'%' identified BY 'testpwd';
- ACCORDER TOUS LES PRIVILÈGES SUR . 'Test'@'%' identified BY 'testpwd' with GRANT OPTION;
- FLUSH PRIVILEGES;
- Je peux voir l'entrée d'un nouvel utilisateur par "Select host, user de mysql.utilisateur";
- redémarrage de mysql à nouveau. Toujours la même erreur!
- Maintenant, je pensais que peut-être il y a un problème encore avec pare-feu, afin ajouté :iptables -A INPUT-i eth0 -p tcp --destination-port 3306 -j ACCEPT
Problème persiste. De l'aide sera vraiment appréciée, sinon je vais être en grande difficulté.
pouvez-vous vous connecter localement?
essayez de vous connecter sur mysql sur le serveur en ligne de commande mysql -u root -p yourdatabase). Si cela ne fonctionne pas, vous pouvez essayer de 'sudo service mysql stop", puis "sudo service mysql start". Si le stop ne fonctionne pas, pkill mysql à plusieurs reprises et retstart 'sudo service mysql start". Eu ce problème sur ubuntu.
Cette erreur ne viendra que si l'utilisateur et le mot de passe combo est refusé généralement due à 1: Utilisateur / mot de passe incorrect 2. L'hôte n'a pas les privilèges de vous connecter en tant qu'utilisateur. Votre serveur distant est capable de se connecter au serveur, mais pas à s'authentifier.
Oui je peux le connecter en local : sudo mysql -u test -p, mais toujours la même erreur lorsque je me connecte via mysql client
Je peux faire un ping du serveur à partir de mon ordinateur distant. Ce n'est pas sûr que d'autres privilèges.
essayez de vous connecter sur mysql sur le serveur en ligne de commande mysql -u root -p yourdatabase). Si cela ne fonctionne pas, vous pouvez essayer de 'sudo service mysql stop", puis "sudo service mysql start". Si le stop ne fonctionne pas, pkill mysql à plusieurs reprises et retstart 'sudo service mysql start". Eu ce problème sur ubuntu.
Cette erreur ne viendra que si l'utilisateur et le mot de passe combo est refusé généralement due à 1: Utilisateur / mot de passe incorrect 2. L'hôte n'a pas les privilèges de vous connecter en tant qu'utilisateur. Votre serveur distant est capable de se connecter au serveur, mais pas à s'authentifier.
Oui je peux le connecter en local : sudo mysql -u test -p, mais toujours la même erreur lorsque je me connecte via mysql client
Je peux faire un ping du serveur à partir de mon ordinateur distant. Ce n'est pas sûr que d'autres privilèges.
OriginalL'auteur Ashutosh Khard | 2016-01-17
Vous devez vous connecter pour publier un commentaire.
"Access denied for user 'test'@'ip'(using password: YES)" est une erreur MySQL.
Cela signifie qu'au niveau du réseau tout fonctionne, parce que pour se voir refuser l'accès comme un utilisateur donné, le serveur devez avoir compris l'utilisateur qui vous a été d'essayer de se connecter en tant que. Donc le réseau, pare-feu, de routage, et ainsi de suite et ainsi de suite, devons tous travailler; le serveur doit être à l'écoute, etc..
Le problème est "simplement" dans le authentification.
Essayez de vous connecter localement à la base de données (pour remplacer l'authentification) et d'inspecter le privilège de table:
et rappelez-vous que la ligne qui vous intéresse est celui de mentionner la propriété intellectuelle (depuis le message d'erreur spécifie l'adresse IP, et pas le nom de l'hôte auquel cas, il aurait pu être un problème DNS; le nom de l'hôte est le nom d'hôte que le serveur croit que vous venez de, pas le nom d'hôte que vous êtes vraiment à venir à partir de).
L'utilisateur/hôte correspondant va à partir de plus précis à plus. Donc, si vous avez déjà eu:
et a couru,
...cette subvention serait de travailler de partout sauf 1.2.3.4, où le mot de passe restera "foo".
Du manuel (lien ci-dessus):
Vous pourriez être forcé de faire
pour s'assurer qu'il n'y a pas de fausses lignes dans la table de référence à l'utilisateur "test".
(En outre, la SUBVENTION doit être, je pense,
)
De sécurité doute (sans rapport avec la réponse)
Le manuel ci-dessus, dit: La spécificité d'un littéral adresse IP n'est pas affectée par si il a un masque de réseau, de sorte 192.168.1.13 et 192.168.1.0/255.255.255.0 sont considérés comme tout aussi spécifique.
Maintenant au premier coup d'œil
127.0.0.1/0.0.0.0
semble très spécifique (et sans danger) pour localhost. Le masque de réseau, si je ne me trompe pas, assure que c'est équivalent à%
, sauf qu'il est incroyablement précis et s'exécute d'abord. Doncsignifie que le mot de passe pour
test
à partir de n'importe où ce n'est pas de "barre", mais il est "localfoo".Personne n'aurait l'insertion d'une telle subvention par erreur, mais il y a erreur et erreur.
my.cnt
assurez-vous d'avoir old_passwords allumé comme vous pouvez vous en avez un vieux client mysql qui ne permettent pas à certains nouveaux hashs de mots de passe pour se connecter 🙂# Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1
Devrais-je essayer de supprimer les entrées multiples d'un seul utilisateur dans mysql.table utilisateur? Depuis que j'ai essayé, je peux trouver des entrées multiples de l'utilisateur "test" pour les différents hôte, y compris les "%"
Je voudrais supprimer tous les usagers attendent pour
root
et re-créer ceux que vous devez correctement.J'ai essayé avec la suppression de tous les utilisateurs à l'exception de la racine ,créé un nouvel utilisateur, mais toujours le problème persiste
Êtes-vous sûr que vous êtes connecté avec le bon serveur? C'est une façon bizarre. Qu'advient-il si vous stop le serveur mysql temporairement et essayez de vous connecter? Faut-il dire la connexion refusée?
OriginalL'auteur LSerni
Laissez-moi d'abord l'enregistrement de son réseau/pare-feu problème ou pas.
Démarrer le serveur MySql avec l'option --skip-grant-tables , puis essayez de vous connecter à elle.
En fait, si vous pouvez vous connecter en tant que root en local, et toujours impossible de se connecter à partir d'un PC à distance pour non-pass base de données protégée, peut-être vous avez un peu de mon.cnf problèmes, tels que skip-networking option?
Je n'ai pas skip-networking option dans mon mon.cnf , j'ai "bind-address" paramètre qui j'ai commenté
OriginalL'auteur Lev Bystritskiy