Komunikat „Error establishing a database connection” oznacza, że WordPress nie może połączyć się z bazą MySQL. Najczęściej powodem są błędne dane w pliku wp-config.php, brak uprawnień użytkownika albo chwilowa awaria serwera, a nie utrata danych.
Co może powodować błąd bazy danych?
WordPress pobiera z bazy danych treści, ustawienia, dane użytkowników i konfigurację witryny. Gdy połączenie nie zostanie nawiązane, zwykle przestaje działać zarówno strona, jak i panel administracyjny. Przyczynę można wstępnie rozpoznać po objawach:
| Objaw | Możliwa przyczyna | Rozwiązanie |
|---|---|---|
Błąd pojawia się na stronie i w panelu /wp-admin |
Nieprawidłowe dane w wp-config.php, brak uprawnień lub niedostępny MySQL |
Sprawdź konfigurację, dostęp przez phpMyAdmin i status hostingu |
| Strona działa, ale panel pokazuje problem z tabelami | Uszkodzona tabela bazy danych | Wykonaj kopię i użyj WP_ALLOW_REPAIR albo phpMyAdmin |
| Błąd pojawił się po migracji lub zmianie hostingu | Zmieniła się nazwa bazy, użytkownik, hasło albo adres serwera | Porównaj dane w panelu hostingu z wpisami w wp-config.php |
| phpMyAdmin nie otwiera się lub nie pozwala się zalogować | Awaria usługi MySQL, problem z kontem albo ograniczenia hostingu | Sprawdź komunikaty dostawcy i skontaktuj się z pomocą techniczną |
Sprawdź plik wp-config.php
To pierwszy krok, ponieważ nawet jeden błędny znak w konfiguracji uniemożliwi WordPressowi połączenie z bazą. Plik znajduje się w głównym katalogu instalacji. Możesz otworzyć go przez FTP albo Menedżer plików w panelu hostingu.
- Wykonaj kopię pliku
wp-config.phpprzed rozpoczęciem edycji. - Otwórz plik w edytorze tekstowym, nie w programie do formatowania dokumentów.
- Znajdź stałe odpowiadające za połączenie z bazą danych.
- Porównaj ich wartości z danymi widocznymi w panelu hostingu.
Konfiguracja powinna zawierać cztery podstawowe parametry:
define( 'DB_NAME', 'nazwa_bazy_danych' );
define( 'DB_USER', 'nazwa_uzytkownika' );
define( 'DB_PASSWORD', 'haslo_uzytkownika' );
define( 'DB_HOST', 'localhost' );
Przed zapisaniem zmian sprawdź następujące informacje w panelu hostingu:
- DB_NAME – pełna nazwa bazy danych, często z prefiksem konta hostingowego
- DB_USER – użytkownik przypisany do tej bazy
- DB_PASSWORD – aktualne hasło użytkownika bazy
- DB_HOST – adres serwera MySQL, zwykle
localhost, ale nie zawsze
W panelach cPanel i DirectAdmin sprawdź również, czy użytkownik został przypisany do właściwej bazy i ma wymagane uprawnienia. Jeżeli hasło zostało niedawno zmienione, wpisz je ponownie w wp-config.php. Po zapisaniu pliku odśwież stronę oraz panel administracyjny.
Wykonaj kopię przed naprawą bazy
Nie uruchamiaj narzędzi naprawczych bez kopii bazy danych. Naprawa może zmienić strukturę tabel, a w niektórych sytuacjach usunąć uszkodzone lub niespójne rekordy. Pobierz kopię przez panel hostingu, phpMyAdmin albo użyj dostępnego systemu backupu. Jeżeli to możliwe, zachowaj także kopię plików WordPressa i aktualnego wp-config.php.
Napraw bazę za pomocą WP_ALLOW_REPAIR
WordPress ma wbudowane narzędzie do sprawdzania i naprawy tabel. Skorzystaj z niego dopiero po wykonaniu kopii zapasowej.
- Otwórz plik
wp-config.phpprzez FTP lub Menedżer plików. - Dodaj przed komentarzem kończącym edycję pliku następującą linię:
define( 'WP_ALLOW_REPAIR', true );
- Otwórz w przeglądarce adres
https://twoja-domena.pl/wp-admin/maint/repair.php. - Wybierz sprawdzanie lub naprawę tabel, zależnie od komunikatu narzędzia.
- Po zakończeniu usuń linię
WP_ALLOW_REPAIRz plikuwp-config.php. - Sprawdź stronę i panel administracyjny.
Stała WP_ALLOW_REPAIR nie powinna pozostać włączona. Narzędzie naprawcze jest dostępne bez standardowego logowania do panelu, dlatego po zakończeniu pracy usuń ten wpis.
Jeżeli narzędzie WordPressa nie rozwiąże problemu, zaawansowany użytkownik może otworzyć bazę w phpMyAdmin, zaznaczyć właściwe tabele i użyć polecenia naprawy. Operację wykonuj ostrożnie, szczególnie przy dużej bazie. Nie stosuj losowych poleceń SQL bez kopii i znajomości ich skutków.
Kiedy problem leży po stronie hostingu?
Zaloguj się do phpMyAdmin z poziomu cPanelu lub DirectAdmin. Jeżeli narzędzie działa, serwer MySQL najpewniej odpowiada, a dalszej weryfikacji wymagają dane w wp-config.php, uprawnienia użytkownika i stan tabel.
Jeśli phpMyAdmin również nie działa, pojawia się komunikat o niedostępnej usłudze albo nie można nawiązać żadnego połączenia, naprawa po stronie WordPressa nie pomoże. Sprawdź status usług, komunikaty o awarii i limity konta. Przyczyną może być przeciążenie, przekroczenie limitu połączeń lub chwilowa niedostępność serwera MySQL. W takiej sytuacji zgłoś problem hostingodawcy, podając dokładny komunikat błędu i godzinę jego wystąpienia.
Najbezpieczniejsza kolejność działań to: najpierw kopia, następnie weryfikacja wp-config.php, sprawdzenie uprawnień i dostępności MySQL, a dopiero potem naprawa tabel. Dzięki temu odróżnisz błąd konfiguracji od rzeczywistego uszkodzenia bazy i ograniczysz ryzyko utraty danych.
Artykuł ma charakter informacyjny i nie zastępuje indywidualnej pomocy administratora serwera. Przed zmianami w bazie danych zawsze wykonaj kopię zapasową.