Zarządzanie użytkownikami i uprawnienia

W tym odcinku opanujesz zadania z zarządzania kontami MySQL: tworzenie użytkownika i nadawanie uprawnień. Zadania z tej kategorii są bardzo przewidywalne – zawsze pojawia się jeden z dwóch scenariuszy.


Dwa scenariusze egzaminacyjne

Scenariusz Opis
A – tylko CREATE USER Utwórz konto z hasłem, bez uprawnień
B – CREATE USER + GRANT Utwórz konto i nadaj konkretne prawa do wybranej tabeli lub całej bazy

Mapowanie słów z zadania na uprawnienia SQL:

Słowo z zadania Uprawnienie SQL
przeglądanie / odczyt danych SELECT
aktualizacja / modyfikacja UPDATE
wstawianie danych INSERT
usuwanie danych DELETE
wszystkie prawa ALL PRIVILEGES

Zadanie 1: CREATE USER – tworzenie konta

  • Cel: Rejestracja nowej tożsamości w systemie zarządzania bazą danych (DBS).
  • Standard: Zastosowanie wzorca CREATE USER 'nazwa'@'host' IDENTIFIED BY 'haslo'. Host 'localhost' ogranicza dostęp tylko do maszyny lokalnej, co jest standardem bezpieczeństwa w zadaniach egzaminacyjnych.

Wzorzec:

Przykłady:

Wskazówka: Oba człony – nazwa i host – muszą być w apostrofach: 'Anna'@'localhost'. Wielkość liter w haśle ma znaczenie. Znak @ w haśle nie wymaga uciekania.


Zadanie 2: GRANT – nadawanie uprawnień

  • Cel: Zarządzanie dostępem do zasobów bazy danych.
  • Logika: Klauzula GRANT definiuje, co konkretnie użytkownik może robić (np. tylko czytać dane lub też je usuwać) i do jakiego obszaru ma dostęp (cała baza, jedna tabela lub konkretna kolumna).
Zapis Znaczenie
ksiegarnia.ksiazki Tylko tabela ksiazki w bazie ksiegarnia
ksiegarnia.* Wszystkie tabele w bazie ksiegarnia
*.* Wszystkie tabele we wszystkich bazach

Zadanie 3: Pełny przykład egzaminacyjny

  • Cel: Realizacja pełnej procedury zarządzania dostępem.
  • Kolejność: Najpierw tworzysz "tożsamość" (CREATE USER), a następnie przypisujesz jej "możliwości" (GRANT). Pamiętaj: użytkownik bez uprawnień jest bezużyteczny, a uprawnienia bez użytkownika nie istnieją.

Treść zadania:

„Utwórz konto użytkownika Bartek na localhost z hasłem B@rtek2. Nadaj mu prawa jedynie do przeglądania i aktualizacji danych w tabeli klienci w bazie ksiegarnia."

Rozwiązanie:


Trzy najczęstsze błędy (kosztują punkty!)

  1. Brak apostrofów: 'Bartek'@'localhost' – oba człony w apostrofach!
  2. Zapis baza.tabela: ksiegarnia.klienci (nie 'ksiegarnia'.'klienci', nie ksiegarnia->klienci)
  3. Mylenie przeglądania (SELECT) z innymi prawami – czytaj treść zadania uważnie

materiały: link