Co spowoduje wykonanie w MySQL polecenia
ALTER USER 'jan'@'localhost' IDENTIFIED BY 'Nowe#Haslo1';
A. usunięcie konta jan i utworzenie go od nowa z hasłem Nowe#Haslo1
B. utworzenie nowego konta jan z hasłem Nowe#Haslo1
C. zmianę hasła istniejącego konta jan na Nowe#Haslo1
D. nadanie kontu jan wszystkich uprawnień do bazy
Polecenie powoduje zmianę hasła istniejącego konta jan na Nowe#Haslo1. W MySQL instrukcja ALTER USER służy do modyfikowania parametrów konta użytkownika, a część 'jan'@'localhost' wskazuje dokładnie konto rozpoznawane jako nazwa użytkownika plus host, z którego może się logować. Klauzula IDENTIFIED BY 'Nowe#Haslo1' ustawia nowe hasło dla tego konta. Do zapamiętania: składnia zmiany hasła ma postać ALTER USER 'użytkownik'@'host' IDENTIFIED BY 'hasło';. Polecenie dotyczy konta, które już istnieje - bez tego MySQL zgłosi błąd. W praktyce używa się go przy resetowaniu haseł użytkowników aplikacji lub administratorów. Nie należy mylić go z CREATE USER, które zakłada konto, ani z GRANT, które nadaje uprawnienia.
W tym pytaniu najczęstsza pomyłka polega na potraktowaniu każdego polecenia z nazwą użytkownika i hasłem jako operacji tworzenia konta. Utworzenie nowego konta jan z hasłem Nowe#Haslo1 wymagałoby instrukcji CREATE USER 'jan'@'localhost' IDENTIFIED BY 'Nowe#Haslo1';, a nie ALTER USER. Nadanie kontu jan wszystkich uprawnień do bazy byłoby związane z poleceniem GRANT, na przykład z przydzieleniem konkretnych uprawnień do wskazanej bazy lub tabel. Usunięcie konta jan i utworzenie go od nowa z hasłem Nowe#Haslo1 wymagałoby osobnych operacji, takich jak DROP USER oraz CREATE USER; ALTER USER nie kasuje konta. Poprawne znaczenie instrukcji z pytania to zmiana hasła istniejącego konta jan na Nowe#Haslo1. W MySQL konto jest identyfikowane nie tylko nazwą użytkownika, lecz także hostem, dlatego 'jan'@'localhost' oznacza logowanie lokalne tego konkretnego konta.