Luen O ”Relly ”Oppiminen MySQL” ja siinä sanotaan, että voit luoda käyttäjän MySQL: ään tekemällä juuri näin:
mysql> GRANT ALL ON *.* TO "jill"@"%.invyhome.com" IDENTIFIED BY "the_password"; Query OK, 0 rows affected (0.01 sec)
Mutta jos yritän tehdä niin:
-> grant select on testgrounds.personas to ""@"localhost"; --> Error Code: 1133. Can"t find any matching row in the user table
Mutta se onnistui, jos käytän salasanaa:
->grant select on testgrounds.personas to ""@"localhost" identified by "pass"; --> 0 row(s) affected
Minun oli palautettava käyttöoikeudet käyttäjäjuuri, koska kokeilin ja sekaisin heidät, joten luulen ennen tekemistä, että voisin todella käyttää kirjan lausetta (en muista 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"
Onko MySQL-asennuksessa tai asennuksessa jotain vikaa?
Vastaa
Tämä ei ole ongelma MySQL: ssä asennus tai määritys.
Jokainen tilin nimi koostuu sekä käyttäjä- että isäntänimestä, kuten ”käyttäjänimi” @ ”isäntänimi”, vaikka isäntänimeä ei olisikaan määritelty. Kohdasta MySQL-käyttöopas:
MySQL-tilien nimet koostuvat käyttäjänimestä ja isäntänimestä. Tämä mahdollistaa tilien luomisen käyttäjille, joilla on sama nimi ja jotka voivat muodostaa yhteyden eri palvelimista.
Tämä antaa MySQL: lle myös mahdollisuuden myöntää eri käyttöoikeustasoja sen mukaan, mikä isäntä, jota he käyttävät yhteyden muodostamiseen.
Päivitettäessä apurahoja tilille, jossa MySQL ei tunnista isäntäosaa, se palauttaa virhekoodin 1133, ellei sillä ole salasanaa tämän tilin tunnistamiseen.
MySQL sallii tilin nimen määrittämisen vain sen käyttäjänimellä, mutta tässä tapauksessa sitä käsitellään nimellä ”käyttäjänimi” @ ”%”.