Jestem nowy po stronie administratora DBMS i konfigurowałem dziś wieczorem nową bazę danych (używając MySQL), kiedy to zauważyłem. Po przyznaniu użytkownikowi przywileju po raz pierwszy, tworzony jest kolejny grant, który wygląda jak
GRANT USAGE on *.* TO user IDENTIFIED BY PASSWORD password
Dokumentacja mówi, że USAGE
przywilej oznacza „brak uprawnień”, więc wnioskuję, że przyznaje pracę hierarchicznie i być może użytkownik musi mieć jakieś przywileje dla wszystkich baz danych, więc służy to jako przechwytywanie wszystkich?
Nie rozumiem też, dlaczego ten wiersz zawiera IDENTIFIED BY
klauzulę, skoro utworzona przeze mnie dotacja jej nie zawiera (głównie dlatego, że nie rozumiem, czemu IDENTIFIED BY
służy klauzula).
Edycja: Przepraszamy, że nie podałem tego pierwotnie, dotacje były
GRANT ALL PRIVILEGES ON database.* TO admin_user
GRANT SELECT, INSERT, UPDATE, DELETE ON database.* TO user