Poradnik hostingowy

Błąd nawiązywania połączenia z bazą danych - naprawa

„Błąd nawiązywania połączenia z bazą danych” (Error establishing a database connection) oznacza, że WordPress nie może dogadać się z serwerem MySQL. Trzy przyczyny odpowiadają za niemal wszystkie przypadki: nieprawidłowe dane dostępowe w wp-config.php, niedostępny lub przeciążony serwer bazy oraz uszkodzone tabele. Sprawdza się je w tej właśnie kolejności.

Krok 1: dane dostępowe w wp-config.php

Pobierz przez FTP plik wp-config.php z katalogu strony i znajdź cztery linie:

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

Porównaj je z danymi w panelu hostingu (sekcja „Bazy danych”). Ten błąd pojawia się nagminnie po przeniesieniu strony na inny hosting - na nowym serwerze baza ma inną nazwę i hasło, a w pliku zostały stare. Uwaga na DB_HOST: najczęściej localhost, ale część hostingów używa dedykowanego adresu (np. mysql.twojhosting.pl albo 127.0.0.1) - właściwą wartość podaje panel lub mail powitalny.

Szybki test poprawności danych: w panelu hostingu otwórz phpMyAdmin i zaloguj się użytkownikiem bazy z wp-config. Wejście działa = dane są dobre, problem leży dalej.

Krok 2: czy serwer bazy w ogóle działa

  • Sprawdź inne strony na tym samym koncie - jeśli wszystkie pokazują ten sam błąd, to awaria lub przeciążenie serwera MySQL po stronie hostingu. Zajrzyj na stronę statusu dostawcy i zgłoś ticket; samodzielnie nic tu nie naprawisz.
  • Błąd pojawia się falami, przy większym ruchu - baza dostaje limit zasobów i odcina połączenia. Winne bywają ciężkie wtyczki statystyk, brak cache albo boty. Włącz cache (np. LiteSpeed Cache - co daje, opisujemy w tekście o LiteSpeed), a jeśli to nie pomaga - potrzebny mocniejszy pakiet.
  • Po dużym imporcie/aktualizacji - jednorazowe zdarzenie mogło ubić proces MySQL; na hostingu współdzielonym wstaje sam w ciągu minut.

Krok 3: naprawa uszkodzonych tabel

Jeżeli strona pokazuje błąd, ale wp-admin wyświetla komunikat o konieczności naprawy bazy - tabele są uszkodzone (np. po twardym restarcie serwera). WordPress ma wbudowane narzędzie:

  1. W wp-config.php dodaj linię: define( 'WP_ALLOW_REPAIR', true );
  2. Otwórz adres https://twojadomena.pl/wp-admin/maint/repair.php i uruchom „Napraw bazę danych”.
  3. Po zakończeniu usuń dodaną linię - strona naprawy jest dostępna bez logowania.

Alternatywnie w phpMyAdmin zaznacz tabele i wybierz operację „Napraw tabelę”, a na hostingu z SSH i WP-CLI - wp db repair.

Gdy nic nie pomaga: kopia zapasowa

Jeśli baza jest uszkodzona głębiej (znikające tabele, błędy przy naprawie), najszybszą drogą jest przywrócenie wczorajszej kopii bazy z panelu hostingu. Dlatego automatyczny, codzienny backup bazy to niepodlegająca negocjacjom cecha hostingu - co dokładnie powinien obejmować, wyjaśniamy w tekście o kopiach zapasowych.

Najczęstsze pytania

Strona działa, ale co kilka minut „gubi” bazę na chwilę - dlaczego?

To limit równoczesnych połączeń albo zasobów MySQL na koncie współdzielonym. Ogranicz zapytania (cache!), wyłącz wtyczki odpytujące bazę przy każdym wejściu, a przy braku poprawy - zmień pakiet lub dostawcę; przy porównywaniu pomoże nasz ranking hostingów.

Czy ten błąd oznacza utratę danych?

Zwykle nie - najczęściej to problem z połączeniem, a dane leżą nietknięte. Utrata grozi dopiero przy fizycznym uszkodzeniu tabel bez kopii zapasowej.

Zmieniłem hasło do bazy w panelu i strona padła - co się stało?

Panel zmienia hasło w MySQL, ale nie w wp-config.php - musisz wpisać nowe hasło także tam. To najczęstsza samodzielnie wywołana wersja tego błędu.

Podsumowanie

wp-config - dostępność serwera - naprawa tabel: trzy kroki, od najczęstszej przyczyny do najrzadszej. Miej pod ręką dane z panelu hostingu i aktualną kopię bazy, a błąd połączenia pozostanie kwadransowym incydentem, nie katastrofą.

Hosting nr 1 w naszym rankingu

McProdukt: pakiety od 29,99 zł netto za rok (1 GB) do 500 GB, SSL i backupy w cenie, 14-dniowy darmowy okres testowy, a przede wszystkim cena odnowienia równa cenie startowej - bez skoku po pierwszym roku. Migracja strony i poczty gratis.