Zarządzanie bazami danych
Panel administracyjny zapewnia dostęp do zarządzania bazami danych MariaDB. Każda baza działa w trybie InnoDB, co gwarantuje transakcyjność oraz obsługę kluczy obcych.
Dostęp do zarządzania bazami danych
Aby przejść do zarządzania bazami danych:
- Zaloguj się do panelu administracyjnego
- Wybierz opcję Bazy danych z górnego menu nawigacyjnego
- W głównym widoku zobaczysz listę wszystkich istniejących baz oraz przyciski akcji
Z poziomu tego widoku możesz:
- Przeglądać listę wszystkich baz danych na koncie
- Tworzyć nowe bazy danych (nazwa do 64 znaków, alfanumeryczne i podkreślnik)
- Dodawać użytkowników z konfigurowalnymi uprawnieniami
- Zarządzać istniejącymi bazami - import, eksport, użytkownicy
PHPMyAdmin - dostęp z logowaniem SSO
Po kliknięciu na konkretną bazę danych z listy, w górnej części ekranu pojawi się przycisk Otwórz PHPMyAdmin. Link wykorzystuje mechanizm Single Sign-On (SSO), który automatycznie loguje cię do PHPMyAdmin bez konieczności wpisywania hasła.
💡 Jak działa SSO do PHPMyAdmin
System generuje jednorazowy token autoryzacyjny ważny przez kilka minut. Po kliknięciu w link, PHPMyAdmin automatycznie zaloguje cię na konto użytkownika bazy danych.
PHPMyAdmin to webowe narzędzie do zarządzania bazami danych, które umożliwia:
- Przeglądanie i edycję tabel w interfejsie graficznym
- Wykonywanie zapytań SQL przez zakładkę SQL
- Import i eksport baz przez przeglądarkę (limit 50 MB w interfejsie, 500 MB przez panel)
- Zarządzanie indeksami, kluczami obcymi, triggerami
- Podgląd struktury bazy w formie diagramu relacji
PHPMyAdmin przydaje się, gdy potrzebujesz szybko sprawdzić zawartość tabeli, poprawić pojedynczy rekord lub przetestować zapytanie SQL przed wdrożeniem do aplikacji.
Użytkownicy bazy danych
W sekcji Użytkownicy bazy danych zarządzasz kontami, które mają dostęp do wybranej bazy. Każdy użytkownik posiada:
- Nazwę konta
- Hasło (minimum 10 znaków, zalecane minimum 16 znaków z dużymi literami, cyframi i znakami specjalnymi)
- Zestaw uprawnień definiujący, jakie operacje może wykonywać
Dodawanie nowego użytkownika
Kiedy dodajesz nowego użytkownika do bazy danych:
- Kliknij przycisk Dodaj użytkownika w sekcji Użytkownicy
- Wpisz nazwę użytkownika (unikalna w ramach twojej domeny)
- Ustaw silne hasło - system pomaga wygwnwrować hasło symbolem klucza
- Wybierz uprawnienia z listy dostępnych operacji (domyślnie wszystkie zaznaczone)
- Zapisz - użytkownik zostanie utworzony w ciągu 2-3 sekund
Nowy użytkownik może natychmiast łączyć się z bazą przez PHPMyAdmin lub przez aplikację (np. WordPress, Laravel, Symfony).
Uprawnienia użytkowników
System pozwala na precyzyjne dostosowanie uprawnień dla każdego użytkownika. Podstawowe uprawnienia to:
- SELECT - odczyt danych z tabel
- INSERT - dodawanie nowych rekordów
- UPDATE - aktualizacja istniejących rekordów
- DELETE - usuwanie rekordów
- CREATE - tworzenie nowych tabel
- DROP - usuwanie tabel i baz danych
- ALTER - modyfikacja struktury tabel (dodawanie kolumn, zmiana typów)
- INDEX - zarządzanie indeksami
- LOCK TABLES - blokowanie tabel podczas operacji
Możesz wyłączyć wybrane uprawnienia, odznaczając checkboxy przy konkretnych operacjach.
Praktyczne scenariusze ograniczania uprawnień
Konto aplikacji produkcyjnej - aplikacja e-commerce, która nie powinna modyfikować struktury bazy:
- Włącz: SELECT, INSERT, UPDATE, DELETE
- Wyłącz: DROP, ALTER, CREATE
- Efekt: aplikacja może zapisywać zamówienia i produkty, ale programista nie usunie przypadkowo tabeli przez błąd w migracji
Konto do odczytu dla raportów - BI tool łączący się z bazą produkcyjną:
- Włącz: SELECT
- Wyłącz: INSERT, UPDATE, DELETE, DROP, ALTER, CREATE
- Efekt: narzędzie analityczne może pobierać dane do raportów, ale nie może ich modyfikować ani usuwać
Konto staging/testowe - środowisko deweloperskie dla testów:
- Włącz: wszystkie uprawnienia
- Efekt: pełna swoboda w testowaniu migracji, modyfikacji struktury, testowania skryptów
Użytkownicy WordPress
💡 Automatyczne konta przy instalacji WordPress
Jeśli zainstalowałeś WordPress przez opcję Instalator aplikacji w panelu, system automatycznie utworzył dwa konta:
user_domena - główne konto WordPress z pełnymi uprawnieniami (SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX). WordPress używa tego konta do wszystkich operacji na bazie - zapisywania postów, aktualizacji opcji, instalacji pluginów. Parametry połączenia zapisane są w pliku
wp-config.php.usser_phpma - dedykowane konto tylko do odczytu (SELECT) dla PHPMyAdmin. Służy do bezpiecznego przeglądania bazy bez ryzyka przypadkowej modyfikacji przez interfejs graficzny.
Nie usuwaj konta user_domena, ponieważ WordPress przestanie działać - strona zwróci błąd "Error establishing database connection". Jeśli przypadkowo usuniesz to konto, utwórz nowe z identycznymi danymi logowania jak w wp-config.php (nazwa, hasło, uprawnienia).
Import bazy danych
W sekcji Import pliku bazy danych wgrywasz bazę z lokalnego komputera przez przeglądarkę. Import przydaje się, gdy:
- Przenosisz stronę z innego hostingu
- Przywracasz bazę z lokalnej kopii zapasowej
- Wdrażasz bazę przygotowaną lokalnie (np. przez XAMPP, Laravel Valet, Docker)
Wymagania dla importowanych plików
- Maksymalny rozmiar: 500 MB (nieskompresowany plik SQL może mieć do 500 MB)
- Obsługiwane formaty:
.sql- standardowy dump SQL (wygenerowany przezmysqldumplub PHPMyAdmin).gz- plik SQL skompresowany gzip (współczynnik kompresji ~10:1, plik 5 GB → 500 MB).zip- plik SQL skompresowany ZIP (współczynnik kompresji ~8:1)
Plik SQL powinien zawierać poprawną składnię MySQL/MariaDB. Kodowanie powinno być ustawione na UTF-8, lub UTF8-mb4 aby uniknąć błędów na stronie.
Proces importu krok po kroku
- Kliknij przycisk Wybierz plik w sekcji Import
- Wskaż plik
.sql,.gzlub.zipz dysku - Kliknij Importuj - rozpocznie się upload (dla 500 MB trwa ~2-5 minut przy łączu 10-20 Mbps)
- System rozpakowuje plik (jeśli skompresowany) i wykonuje zapytania SQL
- Po zakończeniu zobaczysz komunikat z liczbą zaimportowanych tabel i rekordów
⚠️ Import nadpisuje istniejące tabele
Jeśli w bazie docelowej istnieją już tabele o tych samych nazwach co w importowanym pliku SQL, zostaną one usunięte i zastąpione danymi z importu.
Przykład: Importujesz bazę WordPress z 12 tabelami (wp_posts, wp_options, wp_users...). Jeśli baza docelowa już zawiera te tabele, zostaną one całkowicie zastąpione. Wszystkie dane w istniejących tabelach zostaną utracone.
Zalecenie: Przed importem wykonaj eksport obecnej bazy jako backup. W przypadku błędu będziesz mógł przywrócić poprzedni stan w ciągu kilku minut.
Rozwiązywanie problemów z importem
Błąd: "Plik jest za duży" - plik przekracza 500 MB
- Rozwiązanie: Skompresuj plik przez gzip (
gzip dump.sql→dump.sql.gz) lub podziel dump na mniejsze części przezsplit
Błąd: "Syntax error near line 42" - niepoprawne zapytanie SQL
- Przyczyna: dump został wygenerowany dla innej wersji MySQL/MariaDB lub zawiera błędy składniowe
- Rozwiązanie: Otwórz plik SQL w edytorze, znajdź linię 42, sprawdź składnię zapytania, popraw lub usuń problematyczną linię
Błąd: "Access denied for user" - brak uprawnień
- Przyczyna: użytkownik bazy nie ma uprawnień CREATE lub DROP
- Rozwiązanie: Upewnij się, że zalogowany użytkownik ma pełne uprawnienia w sekcji Użytkownicy
Eksport bazy danych
Funkcja Eksport bazy danych pobiera pełną kopię bazy na lokalny komputer. Eksport tworzy plik SQL zawierający:
- Strukturę tabel - instrukcje
CREATE TABLEz definicją kolumn, typów danych, indeksów - Dane - instrukcje
INSERT INTOze wszystkimi rekordami - Triggery, procedury, widoki - jeśli istnieją (zaawansowane funkcje bazy)
- Ustawienia charset i collation - UTF-8, utf8mb4_unicode_ci lub inne skonfigurowane
Kiedy wykonać eksport bazy
Przed aktualizacją WordPress/WooCommerce:
- WordPress 6.3 → 6.4: zmieniona struktura tabel blokowych
- WooCommerce 7.0 → 8.0: migracja danych HPOS (High-Performance Order Storage)
- Eksport zajmuje 10-30 sekund, przywrócenie w razie problemu 1-2 minuty
Przed modyfikacją struktury przez developera:
- Dodawanie nowych kolumn przez migrację Laravel
- Zmiana typu kolumny z VARCHAR(255) na TEXT
- Usuwanie niepotrzebnych tabel
- W przypadku błędu możesz przywrócić stan sprzed zmiany
Przed testowaniem pluginów/modułów:
- Plugin modyfikuje tabele (np. dodaje kolumny dla własnych danych)
- W przypadku konfliktów lub błędów przywracasz czystą bazę
Regularne backupy manualne:
- Codziennie o 9:00 przed rozpoczęciem pracy (dla krytycznych aplikacji)
- Co tydzień w piątek EOD (dla mniej krytycznych projektów)
- Przed deploymentem na produkcję (zawsze)
Proces eksportu
- Kliknij przycisk Eksportuj bazę danych
- System generuje dump SQL (dla bazy 1 GB trwa to ~10-20 sekund)
- Automatycznie rozpocznie się pobieranie pliku
sql_backup_nazwa_bazy_DD-MM-YYYY_HH_MM.sql.gz - Plik zapisze się w folderze Downloads przeglądarki
Dla bazy WordPress o rozmiarze 500 MB (100k postów, 2M komentarzy) eksport zajmuje około 15 sekund, plik SQL ma ~450 MB.
💡 Automatyczne kopie zapasowe
Hosting w Joton wykonuje automatyczne snapshoty całego konta (pliki + bazy danych) raz dziennie między 18:00 a 9:00. Snapshoty przechowywane są przez 30 dni.
Możesz przywrócić bazę danych z automatycznego backupu przez sekcję Kopie zapasowe w panelu. Szczegóły w dokumentacji kopii zapasowych.
Różnica między eksportem manualnym a automatycznym backupem:
- Eksport manualny - plik SQL na twoim komputerze, pełna kontrola, możesz edytować przed importem, przechowujesz dowolnie długo
- Automatyczny backup - snapshot na serwerze, przywracanie jednym kliknięciem, przechowywany 30 dni, nie wymaga miejsca na dysku lokalnym
Limity i ograniczenia
Parametry techniczne zarządzania bazami danych w panelu:
- Maksymalna liczba baz danych: zależna od pakietu hostingowego (od 1 do nieograniczona)
- Maksymalny rozmiar pojedynczej bazy: zgodny z limitem miejsca na koncie (bez sztywnego limitu per baza)
- Maksymalna liczba użytkowników: 100 użytkowników na bazę danych
- Limit importu przez panel: 500 MB (upload + rozpakowanie + wykonanie)
- Limit importu przez PHPMyAdmin: 50 MB (ograniczenie PHP upload_max_filesize)
- Maksymalna liczba jednoczesnych połączeń: 30 połączeń per użytkownik bazy danych
- Timeout zapytania SQL: 300 sekund (5 minut dla długich operacji ALTER TABLE, import)
Jeśli potrzebujesz zaimportować bazę większą niż 500 MB, skorzystaj z dostępu SSH i narzędzia mysql:
mysql -u nazwa_uzytkownika -p nazwa_bazy < dump.sqlTen sposób nie ma limitu rozmiaru pliku. Import bazy 10 GB przez SSH zajmuje 5-10 minut.