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

Słowa kluczowe: GRANT w MySQL

Co robi polecenie

GRANT UPDATE ON klienci TO pracownik;
?
A. nadaje użytkownikowi pracownik prawo do modyfikowania istniejących danych w tabeli klienci
Dobrze. GRANT UPDATE pozwala zmieniać wartości w istniejących wierszach tabeli klienci.
B. nadaje użytkownikowi pracownik prawo do zmiany struktury tabeli klienci
Źle. Strukturę tabeli zmienia ALTER TABLE, do czego potrzebne jest prawo ALTER.
C. nadaje użytkownikowi pracownik prawo do usuwania rekordów z tabeli klienci
Źle. Usuwanie rekordów wymaga uprawnienia DELETE, a nie UPDATE.
D. odbiera użytkownikowi pracownik prawo do modyfikowania danych w tabeli klienci
Źle. Uprawnienia odbiera REVOKE z słowem FROM. GRANT zawsze je nadaje.

GRANT nadaje uprawnienia, a UPDATE to prawo do zmieniania wartości w istniejących wierszach. Po wykonaniu polecenia użytkownik pracownik może uruchamiać zapytania typu UPDATE klienci SET telefon = '600100200' WHERE id = 7;, ale nie dodaje nowych wierszy ani ich nie usuwa.

Każde polecenie SQL ma w MySQL osobne uprawnienie: SELECT do odczytu, INSERT do dodawania, UPDATE do zmiany, DELETE do usuwania wierszy. W praktyce UPDATE z warunkiem WHERE wymaga też prawa SELECT do kolumn użytych w warunku. Nadane prawa sprawdza się poleceniem SHOW GRANTS FOR pracownik;.

Zapis bez hosta oznacza w MySQL konto 'pracownik'@'%', czyli łączące się z dowolnego komputera.

Najczęstszy błąd w tym pytaniu to utożsamienie nazwy uprawnienia z inną operacją na danych. Usuwanie rekordów to osobne prawo DELETE. Kto ma tylko UPDATE, zmieni zawartość wiersza, ale go nie skasuje.

Odebranie prawa wykonuje polecenie REVOKE UPDATE ON klienci FROM pracownik;, w którym zamiast TO stoi FROM. GRANT zawsze dodaje uprawnienia.

Zmiana struktury tabeli, np. dodanie kolumny, to polecenie ALTER TABLE i wymaga uprawnienia ALTER. UPDATE dotyczy tylko danych zapisanych w wierszach, a nie kolumn i ich typów.

Jeśli konto ma mieć kilka praw naraz, wymienia się je po przecinku w jednym poleceniu, np. GRANT SELECT, UPDATE ON klienci TO pracownik;. Pełny zestaw daje GRANT ALL PRIVILEGES, ale zasada najmniejszych uprawnień każe nadawać tylko to, co potrzebne. Dlatego w tym poleceniu pracownik może wyłącznie modyfikować istniejące dane w tabeli klienci.

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.