Code derreur: 1133. ' t trouver une ligne correspondante dans la table utilisateur

Je lis O « Relly « Apprendre MySQL » et il dit que vous pouvez créer un utilisateur dans MySQL en faisant juste ceci:

mysql> GRANT ALL ON *.* TO "jill"@"%.invyhome.com" IDENTIFIED BY "the_password"; Query OK, 0 rows affected (0.01 sec) 

Mais si jessaye de faire:

-> grant select on testgrounds.personas to ""@"localhost"; --> Error Code: 1133. Can"t find any matching row in the user table 

Mais cela réussit si jutilise un mot de passe:

->grant select on testgrounds.personas to ""@"localhost" identified by "pass"; --> 0 row(s) affected 

Jai dû restaurer les privilèges pour root parce que jexpérimentais et que je les ai ratés, donc je pense quavant de faire cela, je pourrais réellement utiliser la déclaration dans le livre (je ne me souviens pas à 100%)

-> select current_user; --> "root@localhost" -> show grants; --> "GRANT ALL PRIVILEGES ON *.* TO \"root\"@\"localhost\" IDENTIFIED BY PASSWORD \"*4ACFE3202A5FF5CF467898FC58AAB1D615029441\" WITH GRANT OPTION" --> "GRANT ALL PRIVILEGES ON `testgrounds`.* TO \"root\"@\"localhost\" WITH GRANT OPTION" --> "GRANT PROXY ON \"\"@\"\" TO \"root\"@\"localhost\" WITH GRANT OPTION" 

Y a-t-il un problème avec mon installation ou ma configuration MySQL?

Réponse

Ce nest pas un problème avec MySQL installation ou configuration.

Chaque nom de compte comprend à la fois un nom dutilisateur et un nom dhôte comme « user_name » @ « host_name », même si le nom dhôte nest pas spécifié. À partir du Manuel de référence MySQL:

Les noms de compte MySQL se composent dun nom dutilisateur et dun nom dhôte. Cela permet la création de comptes pour les utilisateurs du même nom qui peuvent se connecter à partir de différents hôtes.

Cela permet également à MySQL daccorder différents niveaux dautorisations en fonction de celui hôte quils utilisent pour se connecter.

Lors de la mise à jour des autorisations pour un compte où MySQL ne reconnaît pas la partie hôte, il renverra un code derreur 1133 sauf sil a un mot de passe pour identifier ce compte.

Aussi, MySQL permettra à un nom de compte dêtre spécifié uniquement par son nom dutilisateur, mais dans ce cas, il est traité comme « nom_utilisateur » @ « % ».

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *