Zarządzanie użytkownikami jest kluczowym elementem administracji bazą danych. Obejmuje ono tworzenie użytkowników oraz kontrolowanie tego, jakie operacje mogą wykonywać w bazie danych.
Tworzenie użytkowników
Tworzenie użytkowników w SQL odbywa się za pomocą komendy CREATE USER. Nowo utworzony użytkownik domyślnie nie posiada żadnych uprawnień i musi otrzymać stosowne prawa do bazy danych.
Składnia:
CREATE USER 'nazwa_użytkownika'@'host' IDENTIFIED BY 'haslo';
- nazwa_użytkownika – nazwa użytkownika, który ma być tworzony,
- host – określa, z jakiej lokalizacji dany użytkownik może się łączyć (np.
localhostdla połączeń lokalnych lub%dla dowolnego hosta), - haslo – hasło zabezpieczające konto użytkownika.
Przykłady:
-
Utwórz użytkownika
janmogącego łączyć się z bazy danych z lokalnego hosta:CREATE USER 'jan'@'localhost' IDENTIFIED BY 'haslo123'; -
Utwórz użytkownika
annaz dostępem z dowolnego miejsca:CREATE USER 'anna'@'%' IDENTIFIED BY 'bezpiecznehaslo'
Nadawanie uprawnień: GRANT, REVOKE
Aby użytkownik mógł wykonywać operacje w bazie danych, należy nadać mu odpowiednie uprawnienia. W SQL służą do tego polecenia GRANT (nadanie uprawnień) i REVOKE (cofnięcie uprawnień).
Instrukcja GRANT
Nadawanie uprawnień za pomocą GRANT pozwala określić, co użytkownik może robić w bazie danych.
Składnia:
GRANT lista_uprawnień ON zakres TO 'nazwa_użytkownika'@'host';
- lista_uprawnień – jakie uprawnienia nadajemy (np. SELECT, INSERT, UPDATE),
- zakres – określa, na jakich zasobach mają obowiązywać uprawnienia (np. konkretna tabela albo cała baza danych),
- nazwa_użytkownika – użytkownik, któremu nadajemy uprawnienia.
Przykłady:
-
Pozwól użytkownikowi
janużywać baz danych:GRANT ALL PRIVILEGES ON *.* TO 'jan'@'localhost'; -
Przyznaj użytkownikowi
annaprawo do odczytu danych z tabeliKlienciw bazieSklep:GRANT SELECT ON Sklep.Klienci TO 'anna'@'%';
Instrukcja REVOKE
REVOKE służy do cofania uprawnień nadanych wcześniej przy użyciu polecenia GRANT.
Składnia:
REVOKE lista_uprawnień ON zakres FROM 'nazwa_użytkownika'@'host';
Przykład: Cofnij użytkownikowi anna prawo do odczytu z tabeli Klienci:
REVOKE SELECT ON Sklep.Klienci FROM 'anna'@'%';
Po cofnięciu wszystkich uprawnień użytkownik nie będzie mógł wykonywać żadnych operacji na bazie danych, dopóki nie zostaną na nowo przyznane.
