Polecenie GRANT w MySQL

Polecenie GRANT w MySQL – Lekcja

1. Czym jest polecenie GRANT?

Polecenie GRANT w MySQL służy do przyznawania uprawnień użytkownikom bazy danych. Pozwala kontrolować dostęp do tabel, widoków, procedur i innych obiektów w bazie danych.

Najważniejsze cechy GRANT:

  • Służy do nadawania uprawnień użytkownikom
  • Może przyznawać dostęp do całej bazy danych lub tylko do określonych tabel, widoków i kolumn
  • Pozwala nadawać różne poziomy uprawnień, np. tylko do odczytu (SELECT), modyfikacji (UPDATE), czy pełnej kontroli (ALL PRIVILEGES)

2. Składnia polecenia GRANT

Ogólna forma:

GRANT uprawnienia ON obiekt TO 'użytkownik'@'host' [IDENTIFIED BY 'hasło'];
  • uprawnienia – lista uprawnień, np. SELECT, INSERT, UPDATE, DELETE, ALL PRIVILEGES
  • obiekt – określona baza (nazwa_bazy.*), tabela (nazwa_bazy.nazwa_tabeli), a nawet konkretne kolumny
  • użytkownik – nazwa użytkownika, któremu nadajemy uprawnienia
  • host – adres IP lub % (oznacza dowolny host)
  • IDENTIFIED BY 'hasło' – opcjonalnie ustawienie hasła dla użytkownika

3. Przykłady użycia GRANT

Przyznanie użytkownikowi user1 dostępu do odczytu w całej bazie sklep:

GRANT SELECT ON sklep.* TO 'user1'@'localhost';

Przyznanie użytkownikowi admin1 pełnych uprawnień do tabeli klienci w bazie sklep:

GRANT ALL PRIVILEGES ON sklep.klienci TO 'admin1'@'%';

Przyznanie użytkownikowi user2 uprawnienia do dodawania i edycji rekordów w tabeli zamowienia:

GRANT INSERT, UPDATE ON sklep.zamowienia TO 'user2'@'localhost';

Przyznanie użytkownikowi user3 dostępu tylko do jednej kolumny email w tabeli klienci:

GRANT SELECT (email) ON sklep.klienci TO 'user3'@'%';

Cofnięcie uprawnień (REVOKE)

Jeśli chcemy odebrać wcześniej nadane uprawnienia, używamy REVOKE:

REVOKE SELECT ON sklep.* FROM 'user1'@'localhost';

4. Ćwiczenia dla uczniów

Ćwiczenie 1: Tworzenie użytkownika z uprawnieniami do odczytu

Stwórz użytkownika czytelnik, który będzie miał tylko uprawnienia do odczytu tabel w bazie biblioteka.


Ćwiczenie 2: Nadanie uprawnień do modyfikacji zamówień

Przyznaj użytkownikowi sprzedawca uprawnienia do dodawania (INSERT) i edycji (UPDATE) rekordów w tabeli zamowienia w bazie sklep.


Ćwiczenie 3: Przyznanie uprawnień do jednej kolumny

Utwórz użytkownika kontroler, który może odczytywać tylko kolumnę email z tabeli klienci.


Ćwiczenie 4: Cofnięcie uprawnień

Usuń uprawnienia INSERT użytkownikowi sprzedawca, ale pozostaw mu uprawnienia UPDATE do tabeli zamowienia.