Fejlkode: 1133. Kan ' ikke finde nogen matchende række i brugertabellen

Jeg læser O “Relly “Learning MySQL” og der står, at du kan oprette en bruger i MySQL ved at gøre netop dette:

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

Men hvis jeg prøver at gøre:

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

Men det lykkedes, hvis jeg bruger en adgangskode:

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

Jeg var nødt til at gendanne rettighederne for brugerrod, fordi jeg eksperimenterede, og jeg ødelagde dem, så jeg tror, før jeg gjorde det, kunne jeg faktisk bruge udsagnet i bogen (jeg kan ikke huske 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" 

Er der noget galt med min MySQL-installation eller opsætning?

Svar

Dette er ikke et problem med MySQL installation eller opsætning.

Hvert kontonavn består af både et bruger- og værtsnavn som “brugernavn” @ “værtsnavn”, selv når værtsnavnet ikke er angivet. Fra MySQL Reference Manual:

MySQL-kontonavne består af et brugernavn og et værtsnavn. Dette muliggør oprettelse af konti til brugere med samme navn, der kan oprette forbindelse fra forskellige værter.

Dette giver også MySQL mulighed for at give forskellige tilladelsesniveauer afhængigt af hvilken vært, de bruger til at oprette forbindelse.

Når du opdaterer tilskud til en konto, hvor MySQL ikke genkender værtsdelen, returnerer den en fejlkode 1133, medmindre den har en adgangskode til at identificere denne konto.

Også, MySQL tillader kun at angive et kontonavn af brugerens brugernavn, men i dette tilfælde behandles det som “brugernavn” @ “%”.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *