KWALIFIKACJA INF3 - STYCZEŃ 2021 (test 2)

PYTANIE NR 26.
Aby w systemie MySQL nadać użytkownikowi prawo do nadawania i zmiany uprawnień innym użytkownikom należy zastosować klauzulę
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
"GRANT OPTION" to przywilej w MySQL, który pozwala użytkownikowi nie tylko korzystać z nadanych uprawnień, ale też przekazywać je innym (nadawać lub modyfikować uprawnienia). Pozostałe odpowiedzi dotyczą innych mechanizmów: błędnej nazwy, nadania pełnych praw lub odświeżenia tabel uprawnień.

Pełne wyjaśnienie:

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".

Dodatkowe pytania

Dodatkowe pytania (FAQ):
GRANT OPTION to uprawnienie, które pozwala użytkownikowi nadawać innym użytkownikom przywileje, które sam posiada (w nadanym zakresie). Jest używane razem z poleceniem GRANT, gdy chcesz delegować zarządzanie uprawnieniami.
Należy użyć polecenia GRANT tak, aby przy nadawanych przywilejach uwzględnić GRANT OPTION (czyli możliwość przekazywania tych uprawnień dalej). W praktyce robi się to dla kont administracyjnych, a nie dla kont aplikacyjnych.
ALL PRIVILEGES opisuje szeroki zakres praw do obiektów (np. bazy), ale delegowanie uprawnień wymaga osobnego mechanizmu. Do przekazywania praw innym użytkownikom służy GRANT OPTION, więc sama "pełnia" uprawnień nie musi oznaczać ich dalszego nadawania.
FLUSH PRIVILEGES służy do odświeżenia informacji o uprawnieniach w serwerze MySQL. To polecenie administracyjne, a nie przywilej. Nie nadaje prawa do zarządzania uprawnieniami innych użytkowników, tylko przeładowuje ustawienia.
Nie. GRANT OPTION działa w zakresie uprawnień, które użytkownik już posiada i które zostały mu nadane z możliwością dalszego przekazywania. Nie daje "magicznie" praw administracyjnych do wszystkiego, jeśli wcześniej ich nie otrzymał.
Najczęściej myli się: (1) "szerokość" uprawnień (ALL PRIVILEGES) z "delegowaniem" (GRANT OPTION), (2) polecenia administracyjne typu FLUSH z przywilejami, (3) obiekty bazy (np. TRIGGER) z prawami do zarządzania uprawnieniami.
Przywileje zwykle występują jako element nadawania praw (np. SELECT, INSERT, GRANT OPTION). Polecenia to kompletne instrukcje SQL (np. FLUSH ...). Jeśli odpowiedź wygląda jak pełna komenda administracyjna, często nie jest "klauzulą" uprawnień.
Gdy stosujesz zasadę najmniejszych uprawnień. GRANT OPTION zwiększa ryzyko eskalacji uprawnień, bo użytkownik może przekazywać prawa dalej. Zwykle daje się je tylko zaufanym kontom administracyjnym lub w kontrolowanych środowiskach.
Może dojść do wycieku danych, nieautoryzowanych zmian w tabelach, usunięcia danych albo tworzenia dodatkowych kont. Szczególnie niebezpieczne jest połączenie szerokich uprawnień z możliwością delegowania (GRANT OPTION), bo problem może się szybko rozprzestrzenić.
Przećwicz scenariusze: tworzenie użytkownika, nadawanie SELECT/INSERT/UPDATE na bazę lub tabelę, ograniczenia hosta, a potem delegowanie praw (GRANT OPTION). Ucz się też odróżniać przywileje od poleceń administracyjnych i obiektów bazy.
info

To pytanie poprawnie rozwiązuje 54% zdających egzamin. trudne

W praktyce zawodowej kluczowe jest to, że "GRANT OPTION" to przywilej w MySQL, który pozwala użytkownikowi nie tylko korzystać z nadanych uprawnień, ale też przekazywać je innym (nadawać lub modyfikować uprawnienia).

Źródła:

  • MySQL 8.0 Reference Manual: "GRANT Statement" (sekcja o GRANT OPTION) - https://dev.mysql.com/doc/refman/8.0/en/grant.html - dostęp 2026-02-27
  • MySQL 8.0 Reference Manual: "Privileges Provided by MySQL" (opis przywilejów i sposobu nadawania) - https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html - dostęp 2026-02-27
  • MySQL 8.0 Reference Manual: "FLUSH Statement" (znaczenie FLUSH PRIVILEGES) - https://dev.mysql.com/doc/refman/8.0/en/flush.html - dostęp 2026-02-27

Materiały:

  • Oficjalna dokumentacja MySQL: opis polecenia GRANT i lista przywilejów
  • Ćwiczenia praktyczne: tworzenie użytkowników i nadawanie uprawnień w MySQL na środowisku testowym
  • Materiały szkolne z zakresu administracji DBMS (role, przywileje, bezpieczeństwo)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego