Error establishing a database connection, jak naprawić w WordPress
Naprawa błędów

Error establishing a database connection, jak naprawić w WordPress

Zamiast strony widzisz jedno zdanie: „Error establishing a database connection". Żadnego szczegółu, żadnej wskazówki. W tym poradniku pokażę Ci, skąd bierze się ten błąd, jak w kilka minut sprawdzić, która z czterech typowych przyczyn dotyczy Twojej strony, i jak bezpiecznie ją naprawić.

Czym jest błąd „Error establishing a database connection"?

To komunikat WordPress, nie serwera, oznacza on, że silnik potrafił uruchomić plik wp-config.php, ale nie zdołał połączyć się z bazą danych MySQL. Skoro WordPress trzyma w bazie kompletnie wszystko, wpisy, ustawienia, użytkowników, produkty, brak tego połączenia zatrzymuje stronę całkowicie, jeszcze zanim zdąży wyrenderować się jakikolwiek szablon.

To inny problem niż error 500 czy biały ekran śmierci, tam PHP zwykle się uruchamia i coś próbuje wykonać. Tu zatrzymanie następuje wcześniej, na etapie połączenia z bazą, więc typowe triki jak wyłączanie wtyczek przez FTP nic nie dadzą, dopóki nie naprawisz samego połączenia.

Najczęstsze przyczyny błędu połączenia z bazą

1. Błędne dane dostępowe w wp-config.php

Nazwa bazy, użytkownik, hasło albo host w pliku wp-config.php nie zgadzają się z tym, co faktycznie istnieje na serwerze. Dzieje się to najczęściej po migracji, przywróceniu backupu na innym hostingu albo po ręcznej zmianie hasła do bazy w panelu, bez zaktualizowania go w konfiguracji WordPress.

2. Serwer MySQL nie odpowiada lub przekroczony limit połączeń

Na hostingu współdzielonym każde konto ma limit jednoczesnych połączeń do bazy (często 10 do 30). Gdy strona ma duży ruch, źle skonfigurowany cache albo działa na niej pętla zapytań, limit się wyczerpuje i kolejne żądania dostają odmowę połączenia. Zdarza się też awaria samej usługi MySQL po stronie hostingu, wtedy problem dotyczy wszystkich stron na tym serwerze, nie tylko Twojej.

3. Uszkodzone tabele bazy danych

Nagłe wyłączenie serwera podczas zapisu, przerwany import bazy albo awaria dysku hostingu mogą uszkodzić tabele, najczęściej te największe: wp_options lub wp_posts. MySQL odmawia wtedy poprawnej odpowiedzi na zapytania, co WordPress zgłasza jako brak połączenia, mimo że sama usługa bazy danych działa.

4. Uszkodzony plik wp-config.php

Literówka po ręcznej edycji, brakujący średnik albo zduplikowana stała (na przykład dwukrotnie zdefiniowane DB_HOST) potrafią sprawić, że PHP źle odczyta dane logowania do bazy, mimo że same dane w panelu hostingu są poprawne.

Nie wiesz, która przyczyna dotyczy Twojej strony?Bezpłatna diagnoza · reakcja w 1h
Zadzwoń, 577 020 415

Jak zdiagnozować i naprawić błąd krok po kroku

Krok 1: Sprawdź dane logowania w wp-config.php

Przez FTP lub menedżer plików otwórz wp-config.php i porównaj wartości DB_NAME, DB_USER, DB_PASSWORD i DB_HOST z danymi w panelu hostingu (sekcja bazy danych MySQL). Najczęstszy błąd to literówka w haśle albo nazwa bazy skopiowana bez prefiksu konta hostingowego.

define('DB_NAME', 'nazwa_bazy');
define('DB_USER', 'uzytkownik');
define('DB_PASSWORD', 'haslo');
define('DB_HOST', 'localhost');

Krok 2: Sprawdź wartość DB_HOST

Większość hostingów (home.pl, cyber_Folks, LH.pl) używa localhost, ale niektóre wymagają konkretnego adresu IP lub nazwy serwera bazy, widocznej w panelu przy danych dostępowych do MySQL. Po migracji na nowy hosting to jedna z pierwszych rzeczy do sprawdzenia.

Krok 3: Sprawdź status usługi MySQL w panelu hostingu

Zaloguj się do panelu (cPanel, DirectAdmin albo panel własny hostingu) i sprawdź, czy baza danych w ogóle istnieje i czy usługa MySQL działa. Jeśli hosting zgłasza awarię bazy po swojej stronie, jedyne co możesz zrobić, to poczekać albo zgłosić to do supportu, problem nie leży wtedy w WordPress.

Krok 4: Napraw tabele przez phpMyAdmin

W phpMyAdmin zaznacz wszystkie tabele bazy, z listy rozwijanej Z zaznaczonymi wykonaj wybierz Napraw tabelę (Repair table). Jeśli masz dostęp do WP-CLI, to samo zrobisz jedną komendą:

wp db repair

Krok 5: Włącz tryb naprawy bazy WordPress

Gdy nie masz dostępu do phpMyAdmin, dodaj w wp-config.php przed linią /* That's all, stop editing! */:

define('WP_ALLOW_REPAIR', true);

Następnie wejdź na adres twojadomena.pl/wp-admin/maint/repair.php, WordPress pokaże narzędzie do naprawy i optymalizacji tabel. Po zakończeniu koniecznie usuń tę linię z wp-config.php, narzędzie jest publicznie dostępne dla każdego, kto zna adres.

Kiedy lepiej zadzwonić do specjalisty

Jeśli dane w wp-config.php są poprawne, MySQL działa według panelu hostingu, a strona nadal pokazuje błąd połączenia, przyczyna bywa głębsza, uszkodzona tabela rdzenia, limit zasobów konta hostingowego przekraczany cyklicznie albo błąd po stronie serwera, który wymaga kontaktu z hostingiem w Twoim imieniu. Dla sklepu czy strony firmowej każda godzina przestoju kosztuje. Zadzwoń do mnie: 577 020 415, diagnozę zaczynam w ciągu godziny, a naprawę błędów WordPress wyceniam uczciwie, rozliczając co 15 minut.

Strona pokazuje błąd połączenia z bazą, a Ty nie wiesz dlaczego?

Zdiagnozuję źródło błędu i naprawię go bez utraty danych, najczęściej jeszcze tego samego dnia. Zadzwoń albo wyślij szybkie zgłoszenie, reakcja w 1h, bezpłatna wstępna diagnoza, rozliczam co 15 minut.

Zadzwoń, 577 020 415 Szybkie zgłoszenie
Powiązane tematy

Czytaj dalej