J'ai créé l'utilisateur 'demo' et accordé des privilèges pour 'demo' @ '%'. Je peux me connecter depuis un serveur distant, mais lorsque je tente de se connecter depuis localhost, je reçois une erreur:L'utilisateur Mysql avec des privilèges pour se connecter à partir de '%' ne peut pas se connecter depuis 'localhost'
Access denied for user '[email protected]'%''@'localhost' (using password: YES)
Il est assez étrange pour moi, puisque « % », selon la documentation, doit correspondre à une adresse IP. La solution évidente est de créer un deuxième ensemble de privilèges pour 'demo' @ 'localhost', mais je me demande si cela est conçu pour fonctionner de cette façon? Ou cela a-t-il quelque chose à voir avec la façon dont le client mysql essaie de se connecter à DB? (interface réseau de bouclage par rapport à l'interface réseau réelle). Puis-je me connecter à partir du client mysql en tant que 'démo' @ '%' à partir de la même machine?
--edit--
Il a été suggéré que ma question est la même que celle Are Users 'User'@'%' and 'User'@'localhost' not the same?, cependant, ce n'est pas le cas, parce que les états de réponse acceptés:
[email protected]% would allow access from all locations.
dans mon Dans le cas actuel, l'utilisateur @% autoriserait l'accès à partir de tous les emplacements sauf localhost. Parce que la réponse vient de 2012, et en attendant nous avons branche à MariaDB, je donne l'information exacte version:
D:\xampp\mysql\bin>mysql --version mysql Ver 15.1 Distrib
10.1.16-MariaDB, for Win32 (AMD64)
@Benjamin oui et maintenant, la question pourrait être différente, mais la réponse acceptée n'est pas une réponse à ma question. La réponse indique que le '%' signifie tout emplacement, y compris localhost, ce qui ne semble pas être le cas ici ... –
''user' @ '%'' signifie 'user' de tous les hôtes. peut-être utilisez-vous un mauvais nom d'utilisateur/mot de passe comme 'demo_' pour' demo'. ou vous avez déjà un autre utilisateur '' demo '@' localhost'' avec un autre privilège. – bansi
@bansi non, j'ai utilisé le même nom d'utilisateur et mot de passe et aucun utilisateur de demo @ localhost, simplement '%' ne correspond pas à 'localhost'. Mais il y avait des détails manquants, j'utilise en fait MariaDB du paquet XAMPP, cela peut changer beaucoup de choses ... –