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 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
.