Sont des Utilisateurs 'Utilisateur'@'%' et 'Utilisateur'@'localhost' pas le même?
J'ai créé un utilisateur pour la première commande mais impossible de se connecter via localhost (linux). Ce lien mysqldoc indique que j'ai besoin de créer un deuxième utilisateur du même nom, mais à l'aide de la syntaxe dans le deuxième bloc de commandes.
mysql> CREATE USER 'myuser'@'%' IDENTIFIED BY '4myuser';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL ON my_upload.* TO 'myuser'@'%' IDENTIFIED BY '4myuser';
Query OK, 0 rows affected (0.00 sec)
J'ai donc essayé comme ci-dessous, et en effet travaillé. Mais qui sont ces deux utilisateurs distincts? Si je change le pw pour une fois, l'autre de synchronisation, ou sont-ils vraiment les utilisateurs distincts?
mysql> CREATE USER 'myuser'@'localhost' IDENTIFIED BY '4myuser';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON my_upload.* TO 'myuser'@'localhost';
Query OK, 0 rows affected (0.00 sec)
Vous devez vous connecter pour publier un commentaire.
User@%
serait de permettre l'accès de tous les emplacements.User@localhost
ne ferait que permettre l'accès à partir de localhost. Ils sont deux utilisateurs différents avec deux mots de passe différents (bien que vous pouvez définir le même mot de passe, mais si vous mettez à jour un mot de passe de l'autre ne sera pas de mise à jour automatique)User@%
je n'ai toujours pas semblent être en mesure de se connecter à partir de localhost. Au lieu de cela, il semble que je dois créer unUser@localhost
de l'utilisateur. Cela semble aller à l'encontre de l'état "Utilisateur@% permettrait d'accéder à tous les endroits.", non?localhost
qui est en train de priorité, car il est plus précis que le générique.En principe oui, ceux sont deux utilisateurs différents avec (éventuellement) les différentes autorisations et (éventuellement) des mots de passe différents.
Une bonne lecture est la Manuel MySQL sur la connexion d'accès, il montre comment il fonctionne.
Même si ils signifient la même chose, ou si l'on veut comprendre l'autre, ils SONT en effet les utilisateurs distincts!
13.7.1.3. SUBVENTION de la Syntaxe
J'ai rencontré la même situation que décrit - l'Ajout d'une entrée pour
user@%
ne fonctionnait pas.Encore l'ajout d'une entrée pour le même
user@localhost
serait commencer à travailler à nouveau si.Cela ne semble pas intuitif, compte tenu de notre compréhension de la
%
modèle!Un problème identifié par Kent ci-dessus a été que:
Nous avons eu une entrée de ligne dans la table des utilisateurs pour
host:localhost
mais lauser
était vide. Ce qui, apparemment résolu à une règle pour%@localhost
qui a été utilisé comme un match avant monuser@%
règle.Réponse à court - vérifier vide ou génériques noms d'utilisateur dans votre
user
table.... Je n'ai aucune idée de comment ça vide est arrivé là ou si c'était intentionnel.