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.