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 PRIVILEGESobiekt– określona baza (nazwa_bazy.*), tabela (nazwa_bazy.nazwa_tabeli), a nawet konkretne kolumnyużytkownik– nazwa użytkownika, któremu nadajemy uprawnieniahost– 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.