CREATE USER w MySQL

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

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 USER tworzy konto użytkownika,
  • GRANT nadaje temu użytkownikowi uprawnienia,
  • REVOKE odbiera 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.