Kod błędu: 1133. Nie mogę ' nie znaleźć żadnego pasującego wiersza w tabeli użytkownika

Czytam O „Dobrze „Nauka MySQL” i mówi, że możesz utworzyć użytkownika w MySQL, wykonując tylko to:

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

Ale jeśli spróbuję:

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

Ale to się powiedzie, jeśli użyję hasła:

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

Musiałem przywrócić uprawnienia użytkownika root, ponieważ eksperymentowałem i zawiodłem ich, więc myślę, że zanim to zrobię, mógłbym faktycznie użyć instrukcji w książce (nie pamiętam 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" 

Czy coś jest nie tak z moją instalacją lub konfiguracją MySQL?

Odpowiedź

To nie jest problem z MySQL instalacji lub konfiguracji.

Nazwa każdego konta składa się zarówno z nazwy użytkownika, jak i nazwy hosta, na przykład „nazwa_użytkownika” @ „nazwa_hosta”, nawet jeśli nazwa hosta nie jest określona. Z Podręcznik MySQL:

Nazwy kont MySQL składają się z nazwy użytkownika i nazwy hosta. Umożliwia to tworzenie kont dla użytkowników o tej samej nazwie, którzy mogą łączyć się z różnych hostów.

Umożliwia to również MySQL przyznawanie różnych poziomów uprawnień w zależności od tego, który host, którego używają do łączenia.

Podczas aktualizowania dotacji dla konta, w którym MySQL nie rozpoznaje części hosta, zwróci kod błędu 1133, chyba że ma hasło identyfikujące to konto.

Ponadto, MySQL pozwoli na podanie nazwy konta tylko przez jego nazwę użytkownika, ale w tym przypadku jest ona traktowana jako „nazwa_użytkownika” @ „%”.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *