Uprawnienia użytkownika w MySQL

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

Uprawnienia użytkownika w MySQL

Uprawnienia określają, jakie operacje użytkownik może wykonywać w bazie danych, na konkretnej tabeli lub na wybranych kolumnach. W MySQL nadaje się je poleceniem GRANT, a odbiera poleceniem REVOKE.

Typowe uprawnienia do tabeli

Najczęściej spotykane prawa to:

  • SELECT — odczytywanie danych, czyli przeglądanie tabeli,
  • INSERT — dodawanie nowych rekordów,
  • UPDATE — modyfikowanie istniejących danych,
  • DELETE — usuwanie rekordów z tabeli,
  • CREATE — tworzenie tabel lub baz danych,
  • DROP — usuwanie tabel lub baz danych,
  • ALTER — zmiana struktury tabeli,
  • ALL PRIVILEGES — nadanie wszystkich dostępnych uprawnień w danym zakresie.

Przykład działania GRANT i REVOKE

GRANT ALL PRIVILEGES ON klienci TO adam;
REVOKE SELECT, INSERT, UPDATE ON klienci FROM adam;

Najpierw użytkownik adam otrzymuje wszystkie prawa do obiektu klienci. Następnie odbierane są mu tylko trzy wskazane uprawnienia: SELECT, INSERT i UPDATE.

Oznacza to, że użytkownik nie może już:

  • przeglądać danych z tabeli,
  • dodawać rekordów,
  • aktualizować rekordów.

Nadal zachowuje jednak inne prawa, które nie zostały cofnięte, np. DELETE lub DROP, jeśli wchodziły w skład ALL PRIVILEGES.

Ważne na egzaminie

REVOKE odbiera tylko te uprawnienia, które zostały wymienione w poleceniu. Nie anuluje automatycznie wszystkich praw użytkownika. Dlatego po odebraniu SELECT, INSERT i UPDATE użytkownik może nadal mieć prawo do usuwania danych lub całej tabeli.