KWALIFIKACJA INF3 - STYCZEŃ 2021

PYTANIE NR 19.
Za pomocą którego zapytania Administrator odbierze prawo przeglądania oraz aktualizacji danych w bazie gazeta, dla użytkownika redaktor?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawne jest polecenie
REVOKE SELECT, UPDATE ON gazeta.* FROM 'redaktor'@'localhost';
ponieważ odbiera użytkownikowi dokładnie uprawnienia do przeglądania danych (SELECT) i modyfikacji danych (UPDATE) w bazie gazeta. Polecenia GRANT nadają uprawnienia, a ALTER dotyczy zmiany struktury obiektów, nie aktualizacji rekordów.

Pełne wyjaśnienie:

W pytaniu chodzi o odebranie użytkownikowi dwóch konkretnych praw do danych: przeglądania i aktualizacji w bazie gazeta. W systemach MySQL/MariaDB odpowiadają im uprawnienia:

  • SELECT – pozwala odczytywać (wyświetlać) dane z tabel,
  • UPDATE – pozwala zmieniać wartości w istniejących wierszach tabel (modyfikacja danych).

Dlatego właściwa składnia musi używać polecenia REVOKE (odebranie uprawnień) oraz wskazać oba uprawnienia naraz i właściwy zakres obiektu:

REVOKE SELECT, UPDATE ON gazeta.* FROM 'redaktor'@'localhost';

Zapis gazeta.* oznacza "wszystkie tabele (i obiekty w rozumieniu uprawnień) w bazie gazeta". Z kolei 'redaktor'@'localhost' identyfikuje konto użytkownika wraz z hostem, co jest istotne, bo w MySQL użytkownik o tej samej nazwie może mieć różne uprawnienia zależnie od hosta.

Dlaczego pozostałe propozycje są błędne:

  • Opcje z GRANT są niepoprawne, bo GRANT nadaje uprawnienia, a nie je odbiera.
  • Opcje z ALTER nie spełniają warunku "aktualizacji danych", ponieważ ALTER dotyczy zmiany struktury (np. kolumn, indeksów), a nie modyfikacji rekordów. To inny typ operacji i inne ryzyka.

W praktyce egzaminacyjnej warto zapamiętać prostą parę skojarzeń: "odczyt = SELECT", "zmiana danych w wierszach = UPDATE", a "zmiana struktury tabeli = ALTER".

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Uprawnienie SELECT pozwala wykonywać zapytania odczytujące dane z tabel (np. SELECT * FROM tabela). Bez SELECT użytkownik nie może legalnie przeglądać rekordów, nawet jeśli zna nazwy tabel.
Uprawnienie UPDATE umożliwia zmianę wartości w istniejących wierszach tabel (np. aktualizację kolumn). Dotyczy danych, a nie struktury tabeli. Do zmian schematu służą inne uprawnienia, np. ALTER.
REVOKE usuwa wcześniej nadane uprawnienia użytkownikowi lub roli. Wskazujesz listę uprawnień, obiekt (np. baza.*) i konto (np. 'user'@'host'). To przeciwieństwo polecenia GRANT.
ALTER dotyczy modyfikacji struktury obiektu (np. dodanie kolumny, zmiana typu, indeksy). "Aktualizacja danych" oznacza zmianę zawartości rekordów, czyli operacje realizowane przez UPDATE.
GRANT nadaje uprawnienia (daje dostęp), a REVOKE je odbiera. Na egzaminie zwracaj uwagę na czasowniki w treści: "nada" → GRANT, "odbierze/usunie" → REVOKE.
Zapis gazeta.* oznacza, że uprawnienia dotyczą całej bazy (schematu) gazeta, czyli wszystkich tabel w tej bazie. Jeśli chcesz ograniczyć zakres, podajesz np. gazeta.artykuly dla jednej tabeli.
W MySQL konto jest identyfikowane parą nazwa i host. Ten sam użytkownik może istnieć dla różnych hostów i mieć inne uprawnienia. Dlatego w GRANT/REVOKE podaje się np. 'redaktor'@'localhost'.
Najczęściej przy zmianie roli użytkownika, zakończeniu współpracy, incydencie bezpieczeństwa lub ograniczaniu dostępu zgodnie z zasadą najmniejszych uprawnień. To zmniejsza ryzyko odczytu wrażliwych danych i nieautoryzowanych zmian.
Typowe pomyłki to: użycie GRANT zamiast REVOKE, mylenie UPDATE z ALTER, pominięcie hosta w koncie użytkownika oraz nadanie/odebranie uprawnień na złym zakresie (np. tabela zamiast baza.*).
Tak. W jednym poleceniu REVOKE można podać listę wielu uprawnień oddzielonych przecinkami (np. SELECT, UPDATE). To wygodne i zmniejsza ryzyko, że zapomnisz o jednym z wymaganych praw.
info

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

Specjaliści zwracają uwagę: "Polecenia GRANT nadają uprawnienia, a ALTER dotyczy zmiany struktury obiektów, nie aktualizacji rekordów."

Źródła:

  • MySQL 8.0 Reference Manual: REVOKE Statement — https://dev.mysql.com/doc/refman/8.0/en/revoke.html (dostęp: 2026-02-27)
  • MySQL 8.0 Reference Manual: GRANT Statement — 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 — https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html (dostęp: 2026-02-27)

Materiały:

  • Dokumentacja MySQL: GRANT i REVOKE (sekcje o uprawnieniach i składni poleceń)
  • Kurs/rozdział o administracji MySQL/MariaDB: użytkownicy i uprawnienia
  • Ćwiczenia praktyczne: tworzenie kont, nadawanie i odbieranie uprawnień na bazie i tabelach

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego