KWALIFIKACJA INF3 - CZERWIEC 2021 (test 2)

PYTANIE NR 19.
Wskaż zapytanie SQL tworzące użytkownika sekretarka na localhost z hasłem zaq123
CREATE USER `sekretarka`@`localhost` IDENTIFY "zaq123"; 
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawna składnia w MySQL/MariaDB używa frazy IDENTIFIED BY do ustawienia hasła oraz formatu konta 'użytkownik'@'host'.
Hasło jest literałem tekstowym, więc powinno być w apostrofach, a nie w backtickach.
Użycie IDENTIFY lub błędnego cytowania powoduje błąd składni i nie tworzy konta.

Pełne wyjaśnienie:

Polecenie CREATE USER służy do utworzenia konta w systemie bazy danych (MySQL/MariaDB). Konto jest identyfikowane nie tylko nazwą, ale parą 'użytkownik'@'host', gdzie host określa, skąd użytkownik może się łączyć. Wskazanie localhost oznacza, że logowanie jest możliwe wyłącznie z tej samej maszyny, co w praktyce zwiększa bezpieczeństwo kont technicznych aplikacji.

W poprawnej składni ustawienie hasła realizuje się przez słowa kluczowe IDENTIFIED BY, po których podaje się hasło jako łańcuch znaków. Łańcuchy w SQL w MySQL/MariaDB standardowo zapisuje się w apostrofach, dlatego hasło powinno wyglądać jak 'zaq123'.

Dlaczego pozostałe odpowiedzi są błędne?

  • Wariant z IDENTIFIED, ale bez BY lub z inną konstrukcją nie spełnia wymaganej składni polecenia tworzenia konta z hasłem.
  • Warianty z IDENTIFY zamiast IDENTIFIED BY zawierają błąd słowa kluczowego. To częsta pomyłka wynikająca z podobieństwa brzmieniowego, ale parser SQL jej nie akceptuje.
  • Warianty, w których hasło jest ujęte w backticki (`), traktują hasło jak identyfikator (np. nazwę kolumny), a nie wartość tekstową. W efekcie pojawia się błąd składni lub błędna interpretacja.
  • Wariant z podwójnymi cudzysłowami dla hasła może nie działać w typowej konfiguracji, ponieważ w MySQL cudzysłowy mają inne znaczenie zależnie od ustawień SQL mode; na egzaminie przyjmuje się bezpieczną, standardową formę z apostrofami.

W praktyce po utworzeniu użytkownika zwykle wykonuje się jeszcze nadanie uprawnień (np. GRANT) do konkretnej bazy/tabel, aby konto miało tylko niezbędny zakres dostępu.

Dodatkowe pytania

Dodatkowe pytania (FAQ):

To pełna nazwa konta w MySQL/MariaDB: składa się z loginu i hosta źródłowego.

localhost oznacza, że użytkownik może łączyć się tylko lokalnie (z tej samej maszyny). To częsta praktyka dla kont aplikacji webowych uruchomionych na tym samym serwerze.

Typowa składnia to: CREATE USER 'nazwa'@'host' IDENTIFIED BY 'hasło';

Najważniejsze elementy to: poprawne słowa kluczowe IDENTIFIED BY, podanie hosta oraz zapis hasła jako tekst w apostrofach.

W MySQL/MariaDB poprawnym słowem kluczowym do ustawienia hasła jest konstrukcja IDENTIFIED BY.

Forma IDENTIFY jest błędem składniowym i spowoduje odrzucenie polecenia przez serwer SQL, więc konto nie zostanie utworzone.

Nie. Backticki w MySQL służą do cytowania identyfikatorów (np. nazw tabel i kolumn), a hasło jest wartością tekstową.

Hasło należy podać jako literał, zwykle w apostrofach: 'zaq123'. Użycie backticków prowadzi do błędnej interpretacji lub błędu składni.

W typowych zadaniach egzaminacyjnych przyjmuje się, że poprawne i bezpieczne są apostrofy dla tekstu.

Podwójne cudzysłowy mogą zależeć od ustawień trybu SQL i bywają interpretowane inaczej (np. jak identyfikatory), dlatego w praktyce i na egzaminie trzymaj się zapisu 'hasło'.

Najczęściej myli się: IDENTIFY z IDENTIFIED BY, zapis hasła w backtickach zamiast w apostrofach oraz pomija się część @'host'.

Warto też pamiętać o średniku na końcu i o tym, że hasło jest tekstem, więc musi być poprawnie cytowane.

Ograniczenie do localhost zmniejsza ryzyko ataku z sieci, bo konto nie może logować się zdalnie.

To dobre rozwiązanie dla kont aplikacji webowej działającej na tym samym serwerze co baza. Dodatkowo łatwiej kontrolować, które usługi mają dostęp do bazy.

Po CREATE USER trzeba zwykle nadać uprawnienia poleceniem GRANT do konkretnej bazy/tabel.

Dobra praktyka to nadawanie minimalnych uprawnień potrzebnych aplikacji (np. tylko SELECT/INSERT/UPDATE), zamiast uprawnień administracyjnych.

Najpierw upewnij się, że polecenie wykonało się bez błędu. Następnie możesz sprawdzić listę kont w systemie uprawnień (w zależności od wersji i uprawnień administracyjnych).

Praktyczny test to próba połączenia się jako nowy użytkownik z hosta zgodnego z definicją (np. lokalnie dla localhost).

Ćwicz krótkie komendy administracyjne i DML na realnej bazie: tworzenie użytkownika, nadawanie uprawnień, podstawowe SELECT/INSERT/UPDATE.

Zwracaj uwagę na detale: słowa kluczowe, apostrofy vs backticki, średniki. W zadaniach testowych jeden drobny błąd zwykle przesądza o niepoprawnej odpowiedzi.

info

Statystycznie 62% uczniów zna prawidłową odpowiedź. średnie

Specjaliści zwracają uwagę: "Poprawna składnia w MySQL/MariaDB używa frazy IDENTIFIED BY do ustawienia hasła oraz formatu konta 'użytkownik'@'host'."

Źródła:

  • MySQL 8.0 Reference Manual: "CREATE USER Statement" (sekcja kont i uwierzytelniania), https://dev.mysql.com/doc/refman/8.0/en/create-user.html - accessed 2026-03-04
  • MariaDB Server Documentation: "CREATE USER", https://mariadb.com/kb/en/create-user/ - accessed 2026-03-04
  • Oracle MySQL 8.0 Reference Manual: "Account Names" (format 'user'@'host'), https://dev.mysql.com/doc/refman/8.0/en/account-names.html - accessed 2026-03-04

Materiały:

  • Dokumentacja MySQL: sekcja dotycząca CREATE USER i zarządzania kontami
  • Dokumentacja MariaDB: CREATE USER oraz identyfikacja i uwierzytelnianie
  • Notatki/ćwiczenia z administracji użytkownikami i uprawnieniami (CREATE USER, GRANT, REVOKE)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego