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: Zawsze ten sam wzorzec. Uważaj na hasła ze znakami specjalnymi – wpisuj je w apostrofach.
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: Po stworzeniu konta nadajemy uprawnienia. Wzorzec:
GRANT [prawa] ON [baza].[tabela] TO 'użytkownik'@'localhost'.
| 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 egzaminowy
- Cel: Typowe zadanie egzaminacyjne z tworzeniem konta i nadaniem uprawnień – krok po kroku.
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!)
- Brak apostrofów:
'Bartek'@'localhost'– oba człony w apostrofach! - Zapis
baza.tabela:ksiegarnia.klienci(nie'ksiegarnia'.'klienci', nieksiegarnia->klienci) - Mylenie przeglądania (
SELECT) z innymi prawami – czytaj treść zadania uważnie
materiały: link