Po wykonaniu polecenia
GRANT ALL PRIVILEGES ON dane.* TO 'Jan'@'localhost' WITH GRANT OPTION;użytkownik Jan będzie mógł wykonywać
A. wszystkie operacje na tabelach bazy dane oraz przekazywać prawa innym użytkownikom.
B. wszystkie operacje na tabelach w bazie dane, ale bez możliwości przekazywania praw innym użytkownikom.
C. wyłącznie operacje CREATE, ALTER, DROP na tabelach w bazie dane.
D. tylko operacje manipulacji danymi oraz zmieniać jedynie swoje uprawnienia.
Poprawna odpowiedź to: wszystkie operacje na tabelach bazy dane oraz przekazywać prawa innym użytkownikom. Polecenie GRANT nadaje uprawnienia wskazanemu kontu, tutaj użytkownikowi 'Jan'@'localhost'. Fragment ALL PRIVILEGES oznacza pełny zestaw uprawnień dostępnych na wskazanym poziomie, a zapis dane.* ogranicza je do wszystkich obiektów w bazie danych dane, a nie do całego serwera. Dopisek WITH GRANT OPTION pozwala Janowi nadawać innym użytkownikom te uprawnienia, które sam posiada w tym zakresie. Do zapamiętania: GRANT uprawnienia ON baza.obiekt TO użytkownik WITH GRANT OPTION. W praktyce taki zapis stosuje się dla administratora konkretnej bazy. Typowa pułapka to pominięcie znaczenia WITH GRANT OPTION.
W tym poleceniu decydujące są dwa fragmenty: ALL PRIVILEGES oraz WITH GRANT OPTION. Odpowiedź wyłącznie operacje CREATE, ALTER, DROP na tabelach w bazie dane byłaby trafna przy poleceniu nadającym tylko uprawnienia strukturalne, na przykład GRANT CREATE, ALTER, DROP ON dane.*. Tutaj jednak użyto ALL PRIVILEGES, więc zakres jest szerszy. Odpowiedź tylko operacje manipulacji danymi oraz zmieniać jedynie swoje uprawnienia myli operacje DML, takie jak SELECT, INSERT, UPDATE, DELETE, z pełnym zestawem praw oraz błędnie interpretuje GRANT OPTION - ten dopisek dotyczy przekazywania praw innym użytkownikom, a nie wyłącznie edycji własnych uprawnień. Odpowiedź wszystkie operacje na tabelach w bazie dane, ale bez możliwości przekazywania praw innym użytkownikom byłaby poprawna, gdyby polecenie nie zawierało WITH GRANT OPTION. Poprawna odpowiedź brzmi: wszystkie operacje na tabelach bazy dane oraz przekazywać prawa innym użytkownikom. Typowy błąd polega na zauważeniu ALL PRIVILEGES, ale zignorowaniu końcowego dopisku.