CREATE USER to polecenie języka SQL w MySQL służące do utworzenia nowego konta użytkownika w systemie bazy danych. Sama komenda tworzy użytkownika, ale nie nadaje mu automatycznie uprawnień do baz, tabel ani wykonywania operacji.
Podstawowa składnia
CREATE USER 'nazwa_uzytkownika'@'host' IDENTIFIED BY 'haslo';
Przykład:
CREATE USER 'jan'@'localhost' IDENTIFIED BY 'TajneHaslo123';
Ten zapis tworzy użytkownika jan, który może łączyć się z serwerem MySQL tylko z komputera lokalnego, czyli localhost.
Znaczenie hosta
W MySQL konto użytkownika składa się z dwóch części:
- nazwy użytkownika, np.
'jan', - hosta, z którego może się łączyć, np.
'localhost'lub'%'.
Przykład:
CREATE USER 'anna'@'%' IDENTIFIED BY 'haslo';
Znak % oznacza możliwość połączenia z dowolnego hosta, jeśli konfiguracja serwera i sieci na to pozwala.
CREATE USER a uprawnienia
Ważne: CREATE USER nie jest tym samym co GRANT.
CREATE USERtworzy konto użytkownika,GRANTnadaje temu użytkownikowi uprawnienia,REVOKEodbiera uprawnienia.
Przykład pełnej konfiguracji użytkownika:
CREATE USER 'jan'@'localhost' IDENTIFIED BY 'TajneHaslo123';
GRANT SELECT, INSERT ON sklep.* TO 'jan'@'localhost';
Pierwsza instrukcja tworzy użytkownika, a druga pozwala mu wykonywać zapytania SELECT i INSERT w bazie sklep.
Typowy błąd egzaminacyjny
Na egzaminie należy odróżnić samo utworzenie użytkownika od utworzenia użytkownika wraz z nadaniem uprawnień. Komenda CREATE USER pozwala na stworzenie nowego użytkownika, ale do przypisania uprawnień potrzebna jest osobna komenda GRANT.