ZARZąDZANIE HOSTINGIEM (DIRECTADMIN) • 4 MIN READ

Użytkownicy bazy i uprawnienia

Jak dodać kolejnego użytkownika bazy w DirectAdmin. Uprawnienia (SELECT, INSERT, UPDATE, DELETE, ALL), kiedy jeden user na bazę a kiedy wielu.

Zespół IQHost 14 maj 2026 4m read
#DirectAdmin #IQHost #hosting

Każda baza w DA dostaje jednego użytkownika automatycznie przy tworzeniu. Można jednak dodać kolejnych — przydatne gdy potrzebujesz różnych poziomów dostępu (read-only vs admin) lub udostępniasz bazę kilku aplikacjom.

Co zyskasz

  • Dodasz dodatkowych użytkowników do istniejącej bazy.
  • Ustawisz konkretne uprawnienia (SELECT, INSERT, UPDATE, DELETE).
  • Wybierzesz między „one user per database" a wieloma.
  • Rozumiesz różnice uprawnień MySQL.

Wymagania wstępne

Domyślnie: jeden user, pełne prawa

Po utworzeniu bazy host36592_wp w DA, dostajesz użytkownika host36592_wp z ALL PRIVILEGES na tej bazie. To wystarcza dla 95% aplikacji.

Wskazówka

Dlaczego dodatkowi userzy?

  • Read-only dla raportów / dashboard
  • Osobny user dla różnych aplikacji (jeden dla WordPress, drugi dla customowego skryptu)
  • Audit (kto co zmieniał w bazie)

Krok 1: Otwórz Bazy danych

Zarządzanie kontami → Bazy danych → kliknij na nazwę bazy w tabeli.

Lista baz danych w DA

Otworzy się strona zarządzania bazą z sekcjami:

  • Użytkownicy bazy — lista
  • Akcje — tworzenie nowego usera, zarządzanie hasłami
  • Ostatnia kopia zapasowa — info o backup Strona Bazy danych — punkt wejścia do zarządzania użytkownikami

Krok 2: Dodaj nowego użytkownika

W sekcji Użytkownicy bazy+ Dodaj użytkownika. Formularz:

  • Nazwa użytkownika — prefix (np. readonly)
  • Hasło — generuj silne
  • Uprawnienia — zaznacz checkboxes które przyznać:
    • SELECT — czytanie
    • INSERT — dodawanie wierszy
    • UPDATE — modyfikacja wierszy
    • DELETE — usuwanie wierszy
    • CREATE — tworzenie tabel
    • DROP — usuwanie tabel
    • ALTER — modyfikacja struktury
    • INDEX — tworzenie indeksów
    • GRANT — przyznawanie praw innym (rzadko potrzebne)
    • ALL PRIVILEGES — wszystko powyżej

Krok 3: Przykładowe konfiguracje

Read-only user (dla raportów):

Uprawnienia: SELECT only

Aplikacja CRUD (typowy WordPress, web app):

Uprawnienia: SELECT, INSERT, UPDATE, DELETE

Migracja / setup script (jednorazowy):

Uprawnienia: ALL PRIVILEGES

Admin / DBA:

Uprawnienia: ALL PRIVILEGES, GRANT

Krok 4: Zapisz

Klik Utwórz użytkownika. Hasło zapisz natychmiast.

Pełna nazwa = <login_konta>_<prefix>. Dla konta host36592 i prefix readonlyhost36592_readonly.

Wszystkie uprawnienia MySQL

Uprawnienie Co pozwala
SELECT Czytać dane (SELECT * FROM x)
INSERT Dodawać wiersze (INSERT INTO)
UPDATE Modyfikować wiersze (UPDATE x SET)
DELETE Usuwać wiersze (DELETE FROM)
CREATE Tworzyć tabele (CREATE TABLE)
DROP Usuwać tabele (DROP TABLE)
ALTER Modyfikować schemat (ALTER TABLE)
INDEX Tworzyć indeksy (CREATE INDEX)
CREATE TEMPORARY TABLES Tymczasowe tabele
LOCK TABLES Blokady tabel
EXECUTE Wykonywać procedury składowane
CREATE VIEW Widoki
SHOW VIEW Inspekcja widoków
CREATE ROUTINE Funkcje i procedury
ALTER ROUTINE Modyfikacja procedur
EVENT Scheduled events
TRIGGER Triggery
REFERENCES Foreign keys

Wzór: aplikacja + admin

host36592_wp           ← główny user (ALL PRIVILEGES) — używany przez admina, do migracji
host36592_wp_app       ← user aplikacji (SELECT, INSERT, UPDATE, DELETE) — w wp-config.php
host36592_wp_ro        ← read-only (SELECT) — dla raportów / backup script

W aplikacji używaj najwęższego zestawu — jeśli WordPress nigdy nie tworzy nowych tabel po instalacji, daj userowi aplikacji tylko CRUD (bez CREATE/DROP).

Zmiana uprawnień istniejącego użytkownika

  1. Bazy danych → kliknij bazę → użytkownicy → kliknij usera
  2. Edytuj uprawnienia
  3. Zapisz

Wskazówka

FLUSH PRIVILEGES robione automatycznie przez DA. Zmiana jest aktywna natychmiast.

Usuwanie użytkownika

Zaznacz checkbox → Usuń. Aplikacja korzystająca z tego usera przestanie działać — pamiętaj zaktualizować jej config.

Najczęstsze problemy

1. „Aplikacja: Access denied for user"

  • Login pełny (host36592_wp, nie wp)
  • Hasło sprawdź (wielkość liter, znaki specjalne)
  • Czy user ma odpowiednie uprawnienia do tej bazy

2. „Mogę dać użytkownikowi dostęp do dwóch baz?"

W DA każda baza ma swoją listę userów. Możesz utworzyć usera z tą samą nazwą w wielu bazach, ale każda jest osobna.

Dla cross-database query — potrzebujesz GRANT na obu bazach.

3. „Po zmianie uprawnień aplikacja nadal widzi stare"

Klient bazy cachuje. Restart aplikacji (apache reload albo restart procesu).

4. „Mogę utworzyć usera bez prefixu konta?"

Nie — DA wymusza prefix host36592_. To celowe, żeby nie kolidować z innymi klientami na tym serwerze.

5. „Bezpieczne hasło dla bazy"

Min. 16 znaków, mieszanka. Hasło nie idzie przez sieć (localhost) — ale jak ktoś dostanie się do plików aplikacji (np. wp-config.php), zobaczy hasło → potencjalna eskalacja.

Dla bezpieczeństwa: różne hasła na różne aplikacje (nie reuse).

6. „Niektóre uprawnienia psują WordPress"

WP wymaga: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, INDEX, plus REFERENCES dla foreign keys.

Bez CREATE/DROP — WP nie może instalować pluginów które tworzą tabele.

7. „GRANT przy aplikacji — bezpieczne?"

GRANT pozwala userowi przyznawać prawa innym. Niebezpieczne w aplikacji webowej (SQL injection → atakujący nadaje sobie prawa). Nie używaj w userze aplikacji.

Słowniczek

  • GRANT — komenda MySQL przyznająca uprawnienia.
  • REVOKE — odbieranie uprawnień.
  • FLUSH PRIVILEGES — przeładowanie uprawnień z bazy mysql.user.
  • CRUD — Create, Read, Update, Delete — podstawowe operacje danych.

Related

Feedback

Czy ten artykuł pomógł?

Potwierdź