Błąd WordPress podczas nawiązywania połączenia z bazą danych: co to oznacza i jak go naprawić

Jeśli kiedykolwiek zobaczyłeś komunikat „Error establishing a database connection” na swojej stronie WordPress, wiesz, jak jest nieprzyjemny. Strona przestaje działać, odwiedzający widzą tylko biały ekran z tym komunikatem, a niepokój stopniowo rośnie. W rzeczywistości jest to jeden z najczęstszych problemów WordPress, który można rozwiązać bez paniki i zatrudniania zewnętrznych specjalistów.
Co to jest „błąd nawiązywania połączenia z bazą danych”?
System WordPress działa na stosie PHP + MySQL/MariaDB. Wszystkie Twoje wpisy, strony, komentarze i ustawienia są przechowywane w bazie danych. Gdy system CMS nie może połączyć się z bazą danych, strona po prostu nie wie, skąd pobrać dane. W rezultacie pojawia się ten błąd.
Istnieje kilka możliwych przyczyn:
-
Nieprawidłowe dane połączenia (nazwa użytkownika, hasło, nazwa bazy danych) w pliku
wp-config.phpw katalogu głównym witryny. -
Problemy z serwerem bazy danych, takie jak przeciążenie lub awaria MySQL/MariaDB.
-
Uszkodzona baza danych, co czasami zdarza się po nieudanej aktualizacji WordPress lub nagłym wyłączeniu serwera.
-
Ograniczenia sieciowe lub problemy z hostingiem, które blokują połączenie (jeśli połączenie z DB jest nawiązywane przez sieć, a nie lokalnie).
Jak sprawdzić dane połączenia
Pierwszą rzeczą, którą należy zrobić, jest upewnienie się, że WordPress ma poprawne dane uwierzytelniające bazy danych:
-
Otwórz plik
wp-config.phpw katalogu głównym witryny. -
Znajdź linie:
define('DB_NAME', 'nazwa_bazy_danych');
define('DB_USER', 'nazwa_uzytkownika');
define('DB_PASSWORD', 'haslo');
define('DB_HOST', 'localhost');
- Sprawdź, czy wszystkie wartości odpowiadają ustawieniom określonym podczas tworzenia bazy danych. Czasami problemem jest prosty błąd literowy.
Na przykład, w panelu sterowania FASTPANEL parametry połączenia znajdziesz w sekcji „Zarządzanie” → „Bazy danych”.
Jeśli nie pamiętasz poprawnych danych uwierzytelniających DB, możesz samodzielnie zmienić hasło, postępując zgodnie z instrukcjami w tym artykule. Lub skontaktuj się z pomocą techniczną.
Sprawdzanie serwera bazy danych
Jeśli dane uwierzytelniające są poprawne, a błąd nadal występuje, sprawdź sam serwer MySQL:
- Spróbuj połączyć się z bazą danych bezpośrednio za pomocą phpMyAdmin lub MySQL CLI.
Aby połączyć się za pomocą CLI, zaloguj się na serwer przez SSH i uruchom:
mysql -u użytkownik -p
Zastąp „użytkownik” nazwą użytkownika z pliku wp-config.php, a następnie wprowadź hasło. Jeśli połączenie zakończy się sukcesem, zobaczysz dane wyjściowe podobne do:
Witamy w monitorze MySQL. Polecenia kończą się znakiem ; lub \g.
Twój identyfikator połączenia MySQL to 10498
Wersja serwera: 8.0.41 MySQL Community Server - GPL
Prawa autorskie (c) 2000, 2025, Oracle i/lub jej podmioty zależne.
Oracle jest znakiem towarowym zarejestrowanym przez Oracle Corporation i/lub jej
podmioty zależne. Inne nazwy mogą być znakami towarowymi ich odpowiednich
właścicieli.
Wpisz 'help;' lub '\h' aby uzyskać pomoc. Wpisz '\c', aby wyczyścić bieżące polecenie wejściowe.
mysql>
Oznacza to, że serwer bazy danych działa poprawnie, a problem z połączeniem do bazy danych leży gdzie indziej. Dokładnie przejrzyj logi MySQL, a także inne wskazówki w tym artykule.
- Jeśli połączenie nie może zostać nawiązane, serwer może być przeciążony lub tymczasowo niedostępny. W takim przypadku możesz skontaktować się z pomocą techniczną swojego hostingu lub zrestartować MySQL/MariaDB.
Aby sprawdzić, czy usługa MySQL działa, uruchom:
systemctl status mysql
Jeśli usługa jest uruchomiona, zobaczysz komunikat podobny do:
Aktywny: active (running) od śr 2025-08-20 20:40:25 UTC; 14h temu
W przeciwnym razie zobaczysz:
Aktywne: inactive (dead) since Thu 2025-08-21 11:18:47 UTC; 865ms ago
Istnieje wiele możliwych przyczyn takiego stanu usługi MySQL - od braku zasobów po błędy konfiguracji. Aby zbadać problem, możesz sprawdzić logi w systemowym dzienniku lub w /var/log/mysql/error.log.
Następnie upewnij się, że użycie zasobów sprzętowych serwera mieści się w normalnych granicach. Aby to zrobić, użyj narzędzia htop. Może nie być ono zainstalowane w Twoim systemie operacyjnym domyślnie. Aby je zainstalować, uruchom:
Dla Debian/Ubuntu:
sudo apt update && sudo apt install htop
Dla CentOS/AlmaLinux/Rocky Linux:
sudo yum install htop
Następnie uruchom:
htop
Otworzy się interaktywne okno. Skup się na trzech głównych obszarach interfejsu zaznaczonych na zrzucie ekranu:

-
Średnie obciążenie
-
Procentowe zużycie procesora i ilość używanej pamięci RAM w GB
-
Najbardziej zasobożerne procesy
Nie będziemy tutaj zagłębiać się w te metryki. Kluczowe jest to, że wysokie wartości któregokolwiek z nich wskazują, że serwer nie jest w stanie obsłużyć bieżącego obciążenia - co jest prawdopodobnie powodem niedostępności bazy danych Twojej witryny.
Często winowajcami wysokiego obciążenia są roboty indeksujące, które wysyłają zbyt wiele zapytań do Twojej witryny. Aby spróbować rozwiązać ten problem samodzielnie, skorzystaj z tego artykułu.
Jeśli obciążenie jest normalne, spróbuj ponownie uruchomić usługę MySQL:
sudo systemctl restart mysql
Nawet jeśli serwer po tym uruchomi się bez błędów, koniecznie przejrzyj logi samodzielnie lub z pomocą wsparcia technicznego. W przeciwnym razie sytuacja może się powtórzyć w najbardziej nieoczekiwanym momencie z nieprzewidywalnymi konsekwencjami.
Naprawa uszkodzonej bazy danych
Czasami problemem jest uszkodzona baza danych. W takim przypadku zobaczysz wpisy w logach, takie jak:
[ERROR] mysqld: Tabela 'wp_options' jest oznaczona jako uszkodzona i powinna zostać naprawiona
[Warning] Sprawdzanie tabeli: './wordpress/wp_posts'
[ERROR] Got error 127 podczas odczytu tabeli './wordpress/wp_comments'
[ERROR] mysqld: Indeks dla tabeli 'wp_users' jest uszkodzony; spróbuj go naprawić
WordPress posiada wbudowany mechanizm naprawy uszkodzonych baz danych. Aby go uruchomić:
- Dodaj następującą linię do pliku
wp-config.php:
define('WP_ALLOW_REPAIR', true);
-
Przejdź do strony https://twoja-domena.pl/wp-admin/maint/repair.php.
-
Wybierz „Repair Database” (Napraw bazę danych) lub „Repair and Optimize Database” (Napraw i zoptymalizuj bazę danych).
-
Po zakończeniu upewnij się, że usunąłeś tę linię z pliku
wp-config.php.
Ważne jest, aby zrozumieć: strona naprawy działa tylko wtedy, gdy serwer MySQL jest uruchomiony. Jeśli serwer bazy danych jest całkowicie zatrzymany, strona i strona naprawy będą równie niedostępne.
Co zrobić, gdy nic nie pomaga
Jeśli strona nadal nie działa, możliwe są poważniejsze problemy:
-
Twój dostawca hostingu ograniczył zasoby MySQL (dotyczy hostingu współdzielonego)
-
Baza danych jest zbyt duża i wymaga optymalizacji
-
Z powodu naturalnego wzrostu bazy danych i ruchu na stronie, serwer nie dysponuje już wystarczającymi zasobami do stabilnego działania
-
Awaria sprzętu na serwerze
-
Błąd konfiguracji MySQL
-
Atak DDoS
W tych przypadkach najlepiej skontaktować się z pomocą techniczną hostingu. Specjaliści sprawdzą serwer i w razie potrzeby przywrócą dane z kopii zapasowej.
Wniosek
Błąd połączenia z bazą danych WordPress jest alarmujący, ale najczęściej rozwiązuje się go poprzez weryfikację danych połączenia lub optymalizację obciążenia serwera. Najważniejsze to zachować spokój i metodycznie sprawdzać każdy krok.
A w przypadku poważniejszych problemów zawsze możesz skontaktować się z naszymi specjalistami w celu uzyskania bezpłatnego wsparcia technicznego lub samodzielnie przywrócić serwer z kopii zapasowych, które są tworzone automatycznie każdego dnia dla wszystkich naszych VPS.