Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Bazy danych Administracja serwerem i bezpieczeństwo

Polecenie SQL wykonane w MySQL

RENAME USER 'jan'@'localhost' TO 'janek'@'localhost';
powoduje
A. zmianę nazwy konta jan na janek z zachowaniem jego hasła i uprawnień.
Dobrze. RENAME USER zmienia tylko nazwę konta, a hasło i uprawnienia przechodzą na nową nazwę.
B. utworzenie nowego konta janek bez uprawnień i pozostawienie konta jan.
Źle. Nowe, puste konto tworzy CREATE USER. Po RENAME USER konto jan już nie istnieje.
C. dodanie kontu jan drugiej nazwy janek, przy czym obie nazwy nadal działają.
Źle. MySQL nie tworzy aliasów kont. Po zmianie nazwy logowanie jako jan kończy się odmową dostępu.
D. zmianę hasła użytkownika jan na janek.
Źle. Hasło zmienia ALTER USER ... IDENTIFIED BY. Po słowie TO stoi nowa nazwa konta.

RENAME USER 'stara'@'host' TO 'nowa'@'host'; zmienia nazwę istniejącego konta. Konto pozostaje tym samym kontem: zachowuje hasło i wszystkie nadane uprawnienia, zmienia się tylko nazwa, którą podaje się przy logowaniu. Po wykonaniu polecenia użytkownik jan już nie istnieje, a janek loguje się dotychczasowym hasłem.

Konto w MySQL to para nazwa i host, dlatego obie części podaje się w apostrofach z małpą. Poleceniem można zmienić także host, np. z 'localhost' na '%'. Pokrewne polecenia: CREATE USER tworzy konto, DROP USER je usuwa, ALTER USER ... IDENTIFIED BY zmienia hasło, a SHOW GRANTS FOR 'janek'@'localhost'; pokazuje, że uprawnienia przeszły na nową nazwę.

Każda błędna odpowiedź opisuje skutek innego polecenia. Utworzenie nowego, pustego konta to CREATE USER. Gdyby administrator chciał w ten sposób „przenieść” użytkownika, musiałby potem nadać uprawnienia od nowa przez GRANT i usunąć stare konto przez DROP USER. RENAME USER robi to w jednym kroku i niczego nie gubi.

Hasło zmienia się poleceniem ALTER USER 'jan'@'localhost' IDENTIFIED BY 'noweHaslo';. W RENAME USER po słowie TO stoi nowa nazwa konta, a nie hasło.

MySQL nie ma aliasów kont. Po zmianie nazwy stara przestaje działać: próba zalogowania jako jan zakończy się błędem odmowy dostępu. Jeśli aplikacja lub skrypt PHP łączy się z bazą jako jan, trzeba poprawić dane logowania w jej konfiguracji.

Zmianę nazwy konta wykonuje tylko użytkownik z uprawnieniem CREATE USER, np. administrator root.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.