Tworzenie użytkowników
Tworzenie nowych użytkowników odbywa się za pomocą instrukcji CREATE USER:
CREATE USER nazwa_uzytkownika IDENTIFIED BY ’haslo’;
Przykładowo, utworzenie użytkownika Hanzo z hasłem shimada123:
CREATE USER Hanzo IDENTIFIED BY ’shimada123’;
Polecenie SELECT CURRENT USER() zwraca nazwę obecnie zalogowanego użytkownika.
Do zmiany hasła użytkownika służy SET PASSWORD:
Zmiana hasła zalogowanego użytkownika następuje po użyciu instrukcji:
SET PASSWORD=PASSWORD(‘nowe_haslo’);
W celu zmiany hasła innego użytkownika posłużymy się poleceniem:
SET PASSWORD FOR nazwa_uzytkownika=PASSWORD(‘nowe_haslo’);
Przykładowo, zmiana hasła użytkownika Hanzo na waG4T3ki:
SET PASSWORD FOR Hanzo=PASSWORD(‘waG4T3ki’);
Nadawanie uprawnień
Prawa nadaje się za pomocą instrukcji GRANT, a odbiera przy pomocy REVOKE.
GRANT prawo ON baza_danych.tabela TO użytkownik IDENTIFIED BY ‘haslo’; REVOKE prawo ON baza_danych.tabela TO użytkownik IDENTIFIED BY ‘haslo’;
Przykładowo – nadanie użytkownikowi Hanzo z hasłem waG4T3ki uprawnień do odczytywania i wpisywania danych to tabeli zabytki w bazie muzeum :
GRANT SELECT, INSERT ON muzeum.zabytki TO Hanzo IDENTIFIED BY ‘waG4T3ki’;
Odebranie użytkownikowi Hanzo z hasłem waG4T3ki uprawnień do wstawiania danych do tabeli zabytki w bazie muzeum
REVOKE INSERT ON muzeum.zabytki TO Hanzo IDENTIFIED BY ‘waG4T3ki’;
Możliwe do zdefiniowania prawa to:
SELECT - odczytanie danych z tabeli INSERT - wstawianie danych do tabeli UPDATE - modyfikowanie danych w tabeli DELETE - usunięcie danych z tabeli REFERENCE - odwoływanie się do innych tabel CREATE - tworzenie nowych tabel i baz danych DROP - usuwanie tabel oraz baz danych ALL - wszystkie dostępne uprawnienia
Dodatkowo istnieje możliwość zdefiniowania następujących klauzul przy pomocy WITH:
MAX_QUERIES_PER_HOUR - ogranicza liczbę zapytań MAX_UPDATES_PER_HOUR - ogranicza liczbę zmian wprowadzanych do bazy MAX _ CONNECTIONS_PER_HOUR - ogranicza liczbę logowań użytkownika w ciągu godziny MAX_USER_CONNECTIONS - ogranicza liczbę jednoczesnych połączeń uzyskiwanych z jednego konta.
Przykładowo:
GRANT ALL ON muzeum.zabytki TO Genji WITH MAX_UPDATES_PER_HOUR 5;
Powyższe polecenie nada użytkownikowi Genji wszystkie możliwe uprawnienia i ograniczy jego liczbę możliwych modyfikacji danych w bazie w ciągu godziny do 5.
Autor tekstu: Filip Kmiecik