Skip to content

Wszystko o WordPressie, tworzeniu stron — i nie tylko

🔧 Błąd połączenia z bazą danych WordPress: szybka naprawa

🔧 Błąd połączenia z bazą danych WordPress: szybka naprawa

Strona wyświetla białą pustkę z samotnym komunikatem „Error establishing a database connection". Bez paniki, to nie włamanie ani awaria bazy danych. W dziewięciu na dziesięć przypadków problem rozwiązuje się w pięć minut.

W praktyce przez ten błąd przechodzi każdy właściciel WordPressa. Przyczyna jest prawie zawsze banalna: nieprawidłowe hasło w pliku wp-config.php, serwer MySQL, który przestał działać, albo uszkodzona tabela po nieudanej aktualizacji wtyczki.

Poniżej cztery sprawdzone sposoby na przywrócenie strony do życia. Od najczęściej występującego po ostateczność. Przed jakimikolwiek działaniami na bazie danych proszę zrobić kopię zapasową.

💡 Szybki przegląd:

  • Proszę sprawdzić dane logowania MySQL w pliku wp-config.php, to najczęstsza przyczyna
  • Proszę uruchomić wbudowane narzędzie naprawy bazy danych przez WP_ALLOW_REPAIR
  • Proszę zastąpić uszkodzone pliki rdzenia WordPressa świeżą kopią
  • Jeśli nic nie zadziała, proszę odtworzyć stronę z kopii zapasowej
Błąd połączenia z bazą danych na białym ekranie WordPress

Dlaczego pojawia się błąd połączenia z bazą danych

WordPress przechowuje całą zawartość, posty, strony, ustawienia, użytkowników w bazie danych MySQL. Gdy przeglądarka żąda strony, rdzeń PHP WordPressa łączy się z bazą, pobiera dane i składa HTML. Jeśli połączenie między rdzeniem a bazą zostanie przerwane, widzą Państwo biały ekran z komunikatem o błędzie.

Są cztery przyczyny przerwania:

  • Nieprawidłowe dane logowania. Nazwa użytkownika, hasło lub host bazy danych w pliku wp-config.php nie zgadzają się z rzeczywistymi. Zdarza się to po migracji na inny hosting lub zresetowaniu hasła MySQL.
  • Baza danych przestała działać. Serwer MySQL na hostingu zatrzymał się z powodu przeciążenia, prac technicznych lub przekroczenia limitów.
  • Uszkodzone tabele. Wtyczka lub motyw podczas instalacji/usuwania naruszyły tabele systemowe. Częsta historia z wtyczkami do cache’owania i optymalizacji.
  • Uszkodzone pliki rdzenia. Nieukończony transfer FTP, awaria podczas automatycznej aktualizacji WordPressa lub działanie złośliwego kodu.

Konkretną przyczynę ustalimy po kolei, od najbardziej do najmniej prawdopodobnej.

Krok 1: Proszę sprawdzić dane logowania w pliku wp-config.php

Proszę zacząć od najprostszego. Plik wp-config.php znajduje się w katalogu głównym strony i zawiera cztery kluczowe linie do połączenia z bazą danych:

1define('DB_NAME', 'имя_базы');
2define('DB_USER', 'имя_пользователя');
3define('DB_PASSWORD', 'пароль');
4define('DB_HOST', 'localhost');
Plik wp-config.php z danymi dostępowymi do bazy MySQL

Proszę otworzyć plik przez menedżera plików hostingu lub przez FTP i porównać każdą wartość z tymi podanymi w panelu administracyjnym hostingu, w sekcji „Bazy danych MySQL" lub phpMyAdmin.

Proszę zwrócić uwagę na DB_HOST. Większość hostingów używa localhost, ale niektóre, zwłaszcza chmurowe i klastrowe, podają osobny adres IP lub domenę serwera bazy danych. Jeśli niedawno zmieniali Państwo taryfę lub hosting, proszę sprawdzić ten parametr w pierwszej kolejności.

Po zmianie wartości proszę zapisać plik i odświeżyć stronę. Zadziałała? Świetnie. Nie, przechodzimy dalej.

Krok 2: Proszę naprawić bazę danych przez WP_ALLOW_REPAIR

WordPress potrafi samodzielnie naprawiać swoje tabele, wystarczy włączyć wbudowane narzędzie naprawcze. Proszę dodać w wp-config.php jedną linię przed /* That's all, stop editing! */:

1define('WP_ALLOW_REPAIR', true);
Strona naprawy bazy danych WordPress przez repair.php

Teraz proszę przejść pod adres:

1https://ваш-сайт.com/wp-admin/maint/repair.php

Zobaczą Państwo stronę z dwoma przyciskami: „Repair Database" oraz „Repair and Optimize Database". Pierwszy po prostu naprawia tabele, drugi dodatkowo je optymalizuje. Do szybkiej naprawy wystarczy pierwszy przycisk.

Po zakończeniu proszę koniecznie usunąć linię WP_ALLOW_REPAIR z pliku wp-config.php. Jeśli ją Państwo pozostawią, każdy, kto pozna adres URL repair.php, będzie mógł uruchomić naprawę bez autoryzacji.

W praktyce ta metoda rozwiązuje około jednej trzeciej przypadków błędu połączenia. Jeśli nie pomogła, proszę przejść do plików rdzenia.

Jeśli wolą Państwo proces wizualny, na powyższym filmie pokazane są wszystkie kroki w czasie rzeczywistym, od diagnostyki do naprawy.

Krok 3: Proszę zastąpić uszkodzone pliki rdzenia WordPressa

Uszkodzone pliki rdzenia to kolejna częsta przyczyna. Ulegają uszkodzeniu przy przerwaniu połączenia FTP, awarii automatycznej aktualizacji lub po działaniu złośliwego skryptu.

Zastępowanie uszkodzonych plików rdzenia WordPress przez klienta FTP

Algorytm wymiany:

  • Proszę pobrać świeże archiwum WordPressa z oficjalnej strony.
  • Proszę rozpakować archiwum na komputerze.
  • Proszę usunąć z rozpakowanego folderu katalog wp-content i plik wp-config-sample.php, nie trzeba ich wgrywać na serwer, w przeciwnym razie nadpiszą Państwo swoje motywy, wtyczki i przesłane pliki.
  • Proszę wgrać pozostałe pliki i foldery na serwer przez FTP lub menedżera plików hostingu z zastąpieniem istniejących.

Rdzeń został zaktualizowany, a Państwa zawartość i ustawienia są nienaruszone: wszystko to znajduje się w wp-content i bazie danych, których Państwo nie ruszali. Przed sprawdzeniem proszę wyczyścić pamięć podręczną przeglądarki, stare skrypty w cache czasami maskują udaną naprawę.

Krok 4: Proszę przywrócić stronę z kopii zapasowej

Jeśli poprzednie trzy kroki nie przyniosły rezultatu, problem jest głębszy, niż się wydaje. Uszkodzone są nie pojedyncze pliki czy tabele, ale sama struktura bazy danych. Jedynym niezawodnym wyjściem jest powrót do ostatniego działającego punktu.

To, jak dokładnie przywracać, zależy od tego, czym robili Państwo kopię zapasową. Szczegółowo omówiliśmy wszystkie sposoby w osobnym artykule: jak przywrócić WordPressa z kopii zapasowej, przez cPanel, FTP, wtyczkę i phpMyAdmin.

Powrót do kopii zapasowej cofnie ostatnie zmiany na stronie: nowe posty, ustawienia wtyczek, zmianę motywu. Ale to lepsze niż martwa strona, która się nie otwiera.

⁉️🤔 Często zadawane pytania

Dlaczego błąd pojawia się tylko czasami, a nie stale?

Najprawdopodobniej dostawca hostingu ogranicza liczbę jednoczesnych połączeń do MySQL i przy skoku ruchu baza jest tymczasowo niedostępna. Proszę sprawdzić limity w taryfie hostingowej. Na hostingach współdzielonych problem rozwiązuje się przez przejście na VPS.

Czy można naprawić bazę danych przez phpMyAdmin, nie ruszając pliku wp-config.php?

Tak. Proszę wejść do phpMyAdmin przez panel hostingu, wybrać bazę danych strony, zaznaczyć wszystkie tabele i z rozwijanego menu „Dla zaznaczonych" wybrać „Napraw tabelę". To odpowiednik WP_ALLOW_REPAIR, ale bez edycji kodu.

Czy zmiana motywu na standardowy pomaga przy błędzie połączenia z bazą danych?

Nie. Błąd występuje na poziomie połączenia PHP i MySQL, motyw nie ma z tym nic wspólnego. Zmiana motywu rozwiązuje problemy z wyświetlaniem, ale nie z połączeniem z bazą danych.

Co robić, jeśli baza danych jest nieodwracalnie uszkodzona?

Jeśli WP_ALLOW_REPAIR i phpMyAdmin nie dają rady, proszę skontaktować się z pomocą techniczną hostingu. Większość dostawców ma automatyczne kopie zapasowe serwerów z ostatnich 3-7 dni. Przywrócenie z takiej kopii to kwestia jednego zgłoszenia.

Czy błąd może wystąpić z powodu wtyczki bezpieczeństwa?

Tak, niektóre wtyczki bezpieczeństwa zmieniają prefiks tabel (wp_ na losowy) lub blokują zewnętrzne połączenia z bazą danych. Jeśli błąd pojawił się zaraz po zainstalowaniu takiej wtyczki, proszę tymczasowo zmienić nazwę jej folderu przez FTP i sprawdzić stronę.

Strona znów działa: co zapamiętać na przyszłość

Kolejność działań przy „Error establishing a database connection" jest zawsze od prostych do złożonych. W połowie przypadków wystarcza pierwszy krok: otworzyli Państwo wp-config.php, poprawili hasło i strona ożyła.

Proszę skonfigurować automatyczne kopie zapasowe, jeśli jeszcze Państwo tego nie zrobili. Darmowy UpdraftPlus raz na dobę zrzuca bazę danych i pliki do chmury, Google Drive, Dropbox lub gdziekolwiek indziej. Z kopią zapasową każda awaria WordPressa zmienia się z katastrofy w dziesięciominutową niedogodność. Sprawdzone.