W MySQL uprawnienia (przywileje) zarządza się głównie poleceniem GRANT. Samo nadanie użytkownikowi określonych praw (np. SELECT, INSERT, UPDATE) nie oznacza jeszcze, że może on te prawa delegować dalej.
Do przekazywania (nadawania) uprawnień innym użytkownikom służy przywilej GRANT OPTION. Jeśli użytkownik otrzyma uprawnienie wraz z GRANT OPTION, może udzielać innym użytkownikom tych samych uprawnień (w zakresie, który sam posiada), co odpowiada treści pytania o "prawo do nadawania i zmiany uprawnień innym użytkownikom".
Dlaczego pozostałe odpowiedzi są niepoprawne?
- "TRGGER" nie jest poprawną nazwą klauzuli ani przywileju w MySQL (to wygląda jak literówka od "TRIGGER", który jest obiektem bazy danych, a nie uprawnieniem do delegowania praw).
- "ALL PRIVILEGES" oznacza nadanie bardzo szerokiego zestawu uprawnień do danego zakresu (np. bazy/tabel), ale samo w sobie nie musi oznaczać możliwości przekazywania tych uprawnień innym; do tego służy właśnie GRANT OPTION.
- "FLUSH PRIVILEGES" to polecenie administracyjne związane z przeładowaniem/odświeżeniem informacji o uprawnieniach, a nie mechanizm nadawania prawa do zarządzania cudzymi uprawnieniami.
Wskazówka egzaminacyjna: gdy w treści pojawia się delegowanie uprawnień ("nadawanie innym"), szukaj odpowiedzi związanej z GRANT OPTION, a nie z szerokością uprawnień typu "ALL".