Przejdź do głównej zawartości

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

· 4 min aby przeczytać
Customer Care Engineer

wordpress-error-establishing-database-connection

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.php w 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:

  1. Otwórz plik wp-config.php w katalogu głównym witryny.

  2. Znajdź linie:

define('DB_NAME', 'nazwa_bazy_danych');

define('DB_USER', 'nazwa_uzytkownika');

define('DB_PASSWORD', 'haslo');

define('DB_HOST', 'localhost');
  1. 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:

  1. 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.

  1. 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:

wordpress-error-establishing-database-connection

  1. Średnie obciążenie

  2. Procentowe zużycie procesora i ilość używanej pamięci RAM w GB

  3. 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ć:

  1. Dodaj następującą linię do pliku wp-config.php:
define('WP_ALLOW_REPAIR', true);
  1. Przejdź do strony https://twoja-domena.pl/wp-admin/maint/repair.php.

  2. Wybierz „Repair Database” (Napraw bazę danych) lub „Repair and Optimize Database” (Napraw i zoptymalizuj bazę danych).

  3. Po zakończeniu upewnij się, że usunąłeś tę linię z pliku wp-config.php.

warning

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.