„Błąd podczas nawiązywania połączenia z bazą danych” – jak naprawić WordPress

Wszystkie treści WordPressa – wpisy, ustawienia, użytkownicy – są w bazie danych. Gdy WordPress nie może się z nią połączyć, nie ma czego wyświetlić, więc pokazuje jedno zdanie: „Błąd podczas nawiązywania połączenia z bazą danych” (ang. Error establishing a database connection). Zwykle nie oznacza to utraty danych.
Najczęstsze przyczyny
- błędne dane dostępowe w
wp-config.php– po przenosinach strony, zmianie hasła bazy lub na skutek włamania, - serwer bazy danych jest przeciążony albo nie działa,
- uszkodzone tabele bazy danych,
- przekroczony limit połączeń lub zasobów na hostingu współdzielonym.
Krok 1: sprawdź dane w wp-config.php
Otwórz plik wp-config.php w katalogu głównym strony i porównaj cztery wartości z tymi, które widzisz w panelu hostingu (sekcja „Bazy danych” / MySQL):
define( 'DB_NAME', 'nazwa_bazy' );
define( 'DB_USER', 'uzytkownik_bazy' );
define( 'DB_PASSWORD', 'haslo_bazy' );
define( 'DB_HOST', 'localhost' );
Uwaga na DB_HOST – na wielu polskich hostingach to nie jest localhost, tylko osobny adres serwera bazy (np. mysqlXX.nazwahostingu.pl). Najprościej zresetować hasło użytkownika bazy w panelu hostingu i wpisać je ponownie do wp-config.php.
Krok 2: przetestuj połączenie
Aby wykluczyć WordPressa, utwórz w katalogu strony tymczasowy plik test-db.php:
<?php
mysqli_report( MYSQLI_REPORT_OFF );
$db = @mysqli_connect( 'localhost', 'uzytkownik_bazy', 'haslo_bazy', 'nazwa_bazy' );
echo $db ? 'Połączenie OK' : 'Błąd: ' . mysqli_connect_error();
Otwórz go w przeglądarce. „Połączenie OK” oznacza, że dane są dobre, a problem leży gdzie indziej. Komunikat „Access denied” – złe dane logowania. „Connection refused” lub brak odpowiedzi – serwer bazy nie działa. Usuń ten plik zaraz po teście – zawiera hasło do bazy.
Krok 3: serwer bazy danych
Jeśli dane są poprawne, a połączenia nie ma, sprawdź stronę statusu hostingodawcy lub napisz do supportu. Na hostingu współdzielonym przyczyną bywa przekroczenie limitu połączeń – nagły ruch, atak botów albo źle napisana wtyczka. Pomaga cache stron i ograniczenie ruchu botów.
Jeśli dane w wp-config.php zmieniły się „same z siebie”, nie poprawiaj ich i nie zapominaj o sprawie – to jeden z typowych śladów włamania.
Krok 4: napraw uszkodzone tabele
Jeśli strona działa, ale kokpit zgłasza konieczność naprawy bazy, albo błąd pojawia się tylko w niektórych miejscach, użyj wbudowanego narzędzia. Dodaj do wp-config.php:
define( 'WP_ALLOW_REPAIR', true );
Otwórz adres twojadomena.pl/wp-admin/maint/repair.php i wybierz „Napraw bazę danych”. Strona naprawy działa bez logowania, dlatego zaraz po użyciu usuń tę linię z wp-config.php. Alternatywnie tabele naprawisz w phpMyAdmin (zaznacz tabele → „Napraw tabelę”).
Krok 5: adres strony w bazie
Po przenosinach na nową domenę lub serwer sprawdź w phpMyAdmin tabelę wp_options – wiersze siteurl i home muszą zawierać aktualny adres strony. Pamiętaj też, że prefiks tabel ($table_prefix w wp-config.php) musi zgadzać się z nazwami tabel w bazie.
Jak zapobiegać:
- Trzymaj aktualną kopię bazy danych poza serwerem.
- Używaj osobnego użytkownika bazy dla każdej strony, z silnym hasłem.
- Monitoruj dostępność strony – o awarii bazy dowiesz się w minutę, a nie od klienta.
Najczęstsze pytania
Co oznacza „Error establishing a database connection”?
WordPress nie może połączyć się z bazą danych. Najczęstsze przyczyny to błędne dane dostępu w wp-config.php, przeciążona lub wyłączona baza na hostingu albo uszkodzone tabele.
Jak naprawić błąd połączenia z bazą danych?
Sprawdź dane bazy w wp-config.php (nazwa, użytkownik, hasło, host), upewnij się, że serwer bazy działa, i w razie potrzeby napraw tabele. Jeśli bazę przeciąża ruch, czasem pomaga restart lub kontakt z pomocą techniczną hostingu.
Czy stracę dane przy tym błędzie?
Zwykle nie – to problem z połączeniem, a nie z samą zawartością. Dane są w bazie, trzeba tylko przywrócić do niej dostęp. Dlatego regularna kopia bazy danych jest tak ważna.
Potrzebujesz pomocy z tym tematem?
MAQ Enterprise zajmie się tym za Ciebie – od jednorazowego audytu po stałą opiekę nad stroną. Zadzwoń: +48 604 790 398 lub napisz.
Napisz do mnie

