REVOKE w MySQL

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

REVOKE to polecenie języka SQL należące do grupy DCL (Data Control Language). Służy do odbierania użytkownikom uprawnień do baz danych, tabel lub konkretnych operacji.

Składnia

REVOKE uprawnienie1, uprawnienie2
ON baza.tabela
FROM 'uzytkownik'@'host';

W MySQL użytkownik jest zapisywany razem z hostem, np. 'redaktor'@'localhost'. Oznacza to użytkownika redaktor, który łączy się lokalnie z serwera bazy danych.

Przykład z egzaminu

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

To zapytanie odbiera użytkownikowi redaktor uprawnienia:

  • SELECT — przeglądanie, czyli odczytywanie danych,
  • UPDATE — modyfikowanie istniejących danych,
  • ON gazeta.* — we wszystkich tabelach bazy gazeta,
  • FROM 'redaktor'@'localhost' — wskazanemu użytkownikowi.

REVOKE a GRANT

GRANT nadaje uprawnienia, a REVOKE je odbiera.

GRANT SELECT ON gazeta.* TO 'redaktor'@'localhost';
REVOKE SELECT ON gazeta.* FROM 'redaktor'@'localhost';

W pytaniach egzaminacyjnych trzeba zwracać uwagę na czasownik: jeśli administrator ma cofnąć lub odebrać uprawnienia, poprawnym poleceniem jest REVOKE, a nie GRANT.

Częsty błąd

Uprawnienie ALTER dotyczy zmiany struktury tabeli, np. dodawania kolumn. Nie oznacza modyfikacji danych w rekordach. Do modyfikacji danych służy UPDATE.