Przejdź do treści

Problemy z bazą danych w WordPress – diagnoza i rozwiązania 2026

Opublikowano: 18 stycznia 2026 | Zaktualizowano: 15 kwietnia 2026

Odświeżasz stronę, a zamiast treści widzisz chłodny komunikat "Error establishing a database connection". Panel admina nie działa, klienci dzwonią, a Ty zastanawiasz się czy to awaria, atak, czy może jednak prosty błąd w konfiguracji. Dobra wiadomość – w większości przypadków da się to naprawić w kilka minut, o ile wiesz gdzie szukać. Ten przewodnik prowadzi Cię krok po kroku od szybkiej diagnozy przez konkretne naprawy w phpMyAdmin i WP-CLI aż po strategię backupu, żeby ta sytuacja więcej się nie powtórzyła.

Krótka odpowiedź

Najczęstsze przyczyny problemów z bazą danych WordPress to: błędne dane w wp-config.php (DB_NAME, DB_USER, DB_PASSWORD, DB_HOST), przekroczony limit połączeń na hostingu shared, uszkodzone tabele wymagające REPAIR, awaria serwera MySQL/MariaDB po stronie hostingu lub włamanie skutkujące złośliwymi zapisami. Zacznij od sprawdzenia wp-config.php i kontaktu z supportem hostingu – to rozwiązuje około 70% przypadków.

Usługi KC Mobile

Sprawdź naszą ofertę

Potrzebujesz pomocy specjalisty? Skorzystaj z naszych usług i rozwiń swój biznes online.

"Error establishing a database connection" – co to znaczy i skąd bierze się ten błąd

Ten komunikat oznacza jedną rzecz: WordPress nie potrafi zestawić połączenia z silnikiem MySQL lub MariaDB. Nie wie jeszcze czy baza padła, czy hasło się zmieniło, czy host przekroczył limit – wie tylko, że próba otwarcia połączenia zawiodła. To właśnie dlatego komunikat jest tak ogólny. Żeby go rozwiązać, musisz sam zawęzić obszar poszukiwań.

Pięć głównych przyczyn, które odpowiadają za zdecydowaną większość zgłoszeń:

1. Złe dane dostępu w wp-config.php – ktoś zmienił hasło do bazy w panelu hostingu, a plik konfiguracyjny nadal trzyma starą wersję. Zdarza się to częściej niż myślisz, zwłaszcza po migracji między hostingami lub reset hasła przez support.
2. Limit max_connections osiągnięty – hosting współdzielony ma twarde limity ilości jednoczesnych połączeń. Wtyczka cache'ująca źle skonfigurowana lub nagły skok ruchu i strona się wyłącza.
3. Uszkodzone tabele bazy – po nagłym restarcie serwera, skoku napięcia lub błędnym zamknięciu MySQL niektóre tabele mogą wymagać naprawy (REPAIR TABLE).
4. Serwer MySQL nie działa – awaria po stronie hostingu, co widać gdy inne strony u tego samego providera też mają problemy.
5. Włamanie lub atak – brute force na bazę, modyfikacja tabeli options, wstrzyknięcia SQL, masowa zmiana haseł adminów.

Zanim zaczniesz grzebać, sprawdź czy problem jest widoczny z różnych lokalizacji (użyj narzędzia typu Downforeveryoneorjustme) i czy masz dostęp do innych stron hostowanych w tym samym miejscu. To pierwsze 30 sekund pozwala wyeliminować oczywisty scenariusz awarii po stronie providera. Jeśli szukasz szerszego kontekstu kłopotliwych awarii, zerknij też do przewodnika o białym ekranie śmierci w WordPress – tam mamy kompletny flow diagnozy. Przy okazji warto też sprawdzić co zrobić gdy WordPress wyrzuca błąd 500 oraz dlaczego WordPress nie wysyła maili.

Diagnoza w 5 minut – check-lista krok po kroku

Zanim zaczniesz edytować pliki, przejdź przez tę listę w podanej kolejności. Dziewięć na dziesięć przypadków rozwiązuje się przed punktem piątym.

Krok 1 – Sprawdź panel hostingu. Zaloguj się do CloudPanel, cPanel lub DirectAdmin. Szukaj czerwonej lampki przy bazie danych. Niektóre hostingi wyłączają bazę automatycznie gdy przekroczysz limit przestrzeni lub CPU.

Krok 2 – Otwórz phpMyAdmin. Spróbuj się zalogować danymi z wp-config.php. Jeśli phpMyAdmin mówi "Access denied for user" – masz błędne hasło. Jeśli pokazuje tabele – baza żyje, problem jest gdzie indziej.

Krok 3 – Sprawdź wolne miejsce. Pełny dysk powoduje, że MySQL odmawia nowych zapisów. W panelu hostingu zobacz kwotę. Jeśli jesteś blisko limitu, przeczytaj sekcję o optymalizacji bazy niżej.

Krok 4 – Sprawdź logi. W CloudPanel: `/home/{user}/logs/`. W cPanel: sekcja "Errors". Szukaj linijek typu "Too many connections", "Table marked as crashed", "Access denied".

Krok 5 – Restart MySQL przez support. Napisz do hostingu z dokładnym komunikatem błędu. Jeśli MySQL padł globalnie, tylko oni mogą go podnieść.

ObjawPrawdopodobna przyczynaPierwsza akcja
Error establishing... na całej stronieBłąd wp-config.php lub awaria MySQLSprawdź dane w wp-config.php
Strona czasem działa, czasem nieLimit max_connectionsKontakt z hostingiem, migracja na VPS
Admin działa, frontend nie (lub odwrotnie)Uszkodzona konkretna tabelaREPAIR TABLE w phpMyAdmin
Nowe konta administratora, których nie założyłeśWłamanieNatychmiast zmień hasła i skanuj
Pełny dysk w paneluRozrośnięta baza / logi / revizjeOptymalizacja i limit rewizji

Jeśli utknąłeś na tym etapie i czujesz, że traci się czas, zadzwoń do nas pod +48 604 939 140 – diagnozujemy zdalnie i zwykle odpalamy stronę w ciągu godziny.

Potrzebujesz profesjonalnej strony WordPress?

Tworzymy strony WordPress, które są szybkie, bezpieczne i zoptymalizowane pod SEO. Od 3000 zł.

Problem z wp-config.php – poprawne dane dostępu do bazy

Plik wp-config.php to serce konfiguracji WordPressa. Leży w głównym katalogu instalacji (tam gdzie wp-admin i wp-content). Jeśli którakolwiek ze zmiennych dostępu do bazy jest zła, WordPress krzyczy komunikatem o braku połączenia.

Otwórz plik przez FTP lub menedżera plików i znajdź cztery linie:

  • `DB_NAME` – nazwa bazy danych (np. `wp_sklep_prod`). Zobaczysz ją w panelu hostingu w sekcji "Bazy danych".
  • `DB_USER` – użytkownik przypisany do tej bazy (często ma postać `wp_userXYZ`).
  • `DB_PASSWORD` – hasło. To jest pole gdzie najczęściej występuje błąd. Apostrofy w haśle muszą być escape'owane lub użyj cudzysłowów.
  • `DB_HOST` – w 95% przypadków `localhost`, ale niektóre hostingi (zwłaszcza w rozwiązaniach chmurowych) wymagają pełnej nazwy serwera typu `mysql.serwer.pl` lub portu `localhost:3307`.

Jak przetestować dane: Zaloguj się do phpMyAdmin tymi samymi loginami. Jeśli wejdziesz – dane są poprawne, problem leży gdzie indziej. Jeśli phpMyAdmin też odrzuca logowanie – trzeba zresetować hasło użytkownika w panelu hostingu i zaktualizować wp-config.php.

Pułapka numer jeden: Spacje na początku lub końcu wartości. Skopiowałeś hasło z panelu, a wkleiłeś razem ze spacją – WordPress to odrzuci.

Pułapka numer dwa: Polskie znaki w haśle. Niektóre panele hostingowe generują hasła zawierające ąęćśł, ale MySQL czasem inaczej interpretuje kodowanie. Jeśli hasło zawiera znaki spoza ASCII, wygeneruj nowe – tylko litery, cyfry i znaki typu `!@#$%`.

Pułapka numer trzy: BOM w pliku. Niektóre edytory (Notatnik Windows) zapisują plik z ukrytymi znakami na początku. To łamie cały PHP. Edytuj wp-config.php w VS Code, Sublime lub Notepad++, zapisuj jako UTF-8 bez BOM.

Po poprawieniu pliku odśwież stronę. Jeśli nadal błąd – przejdź do kolejnej sekcji. Temat powiązany: co zrobić gdy WordPress padł po aktualizacji – tam opisujemy też scenariusz uszkodzonej tabeli po update.

Baza danych przekroczyła limit – hosting shared vs VPS

Hosting współdzielony (shared) ma twarde limity, o których zwykle nie myślisz do momentu, gdy Twoja strona zaczyna je osiągać. Najczęściej chodzi o parametr `max_connections` (ilość równoczesnych połączeń do bazy) oraz `max_user_connections` (limit na jednego użytkownika).

Typowy hosting shared daje 25-50 równoczesnych połączeń na konto. Brzmi dużo, ale gdy masz stronę z WooCommerce, 200 aktywnych użytkowników i brakuje cache'owania, osiągasz to spokojnie w godzinach szczytu. Efekt – strona co chwilę rzuca błędem bazy, a potem wraca.

Objawy limitu połączeń:
- Błąd występuje losowo, nie ciągle
- Bardziej widoczny w godzinach szczytu (wieczór, weekendy)
- Logi pokazują "Too many connections" lub "max_user_connections"
- Inne strony na tym samym koncie też mają problemy

Co możesz zrobić od ręki:
1. Włącz agresywne cache'owanie stron (WP Rocket, LiteSpeed Cache, W3 Total Cache) – każda strona serwowana z cache to jedno połączenie mniej.
2. Zainstaluj Redis lub Memcached dla object cache (jeśli hosting pozwala). Drastycznie obniża ilość zapytań do bazy.
3. Skonfiguruj CDN (Cloudflare) – obrazy i statyczne zasoby nie muszą już iść przez hosting.
4. Usuń niepotrzebne wtyczki robiące zapytania w tle (real-time analytics, live notifications, źle napisane plugins).

Kiedy migrować na VPS:
- Przekraczasz 500 użytkowników równocześnie
- Masz sklep z >1000 produktów i aktywną sprzedaż
- Baza przekracza 500 MB
- Shared hosting kosztuje Cię już 60-80 PLN/mies – za tę cenę masz przyzwoity VPS

Przy okazji – warto przyjrzeć się naszemu przewodnikowi dlaczego WordPress wolno się ładuje oraz jak przyspieszyć maile w WordPress, bo często te tematy współgrają z problemami bazy. Jeśli zastanawiasz się nad migracją serwera, zerknij też do jak wybrać hosting WordPress i różnic między hostingiem shared a VPS.

Uszkodzona baza danych (corrupt) – repair przez phpMyAdmin i WP-CLI

Uszkodzenie tabeli to klasyka po nagłym restarcie serwera, skoku napięcia lub awaryjnym zamknięciu MySQL. WordPress widzi bazę, ale przy próbie odczytu konkretnej tabeli zwraca błąd. Na szczęście silnik ma wbudowane narzędzia naprawcze.

Zanim cokolwiek zrobisz – backup. Zawsze. Nawet jeśli jesteś pewien siebie. Pobierz pełny dump bazy przez phpMyAdmin (Eksport → Szybki → SQL) lub przez WP-CLI: `wp db export backup-$(date +%Y%m%d).sql`. Bez tego każdy krok niżej to ryzyko utraty danych.

Metoda 1 – Wbudowany tryb naprawy WordPressa. Dopisz do wp-config.php linię:

`define('WP_ALLOW_REPAIR', true);`

Wejdź na adres `https://twojadomena.pl/wp-admin/maint/repair.php`. Zobaczysz dwa przyciski: "Repair Database" i "Repair and Optimize Database". Zacznij od pierwszego. Po skończeniu naprawy natychmiast usuń linię z wp-config.php – zostawienie jej otwiera dostęp bez logowania.

Metoda 2 – phpMyAdmin. Wejdź w bazę, zaznacz wszystkie tabele, w menu wybierz "Napraw tabelę". Po zakończeniu wykonaj też "Optymalizuj tabelę" – zmniejsza to fizyczny rozmiar plików po usunięciu uszkodzonych wpisów.

Metoda 3 – WP-CLI (najszybsza dla profesjonalistów). Jeśli masz dostęp SSH:

  • `wp db check` – diagnozuje wszystkie tabele
  • `wp db repair` – naprawia uszkodzone
  • `wp db optimize` – optymalizuje po naprawie

Metoda 4 – bezpośrednie SQL (gdy powyższe zawodzą). W phpMyAdmin lub kliencie SQL:

`REPAIR TABLE wp_posts, wp_postmeta, wp_options EXTENDED;`

Flaga `EXTENDED` działa głębiej – przebudowuje indeksy tabeli od zera. Wolniejsze, ale skuteczniejsze. Jeśli pojawia się błąd "doesn't have BACKUP/RELOAD privilege", skontaktuj się z hostingiem – Ci nadadzą potrzebne uprawnienia.

Po naprawie warto przejrzeć jak sprawdzić czy WordPress został zhackowany – czasem uszkodzenie bazy to skutek, nie przyczyna.

Awaria serwera MySQL – jak zdiagnozować po stronie hostingu

Bywa tak, że wp-config.php jest poprawny, tabele zdrowe, a baza i tak nie odpowiada. Wtedy problem leży po stronie hostingu – silnik MySQL/MariaDB padł i czeka aż ktoś go podniesie.

Jak to rozpoznać w 60 sekund:

1. Otwórz stronę statusową hostingu (u większości dostępna pod `status.hosting.pl`). Szukaj informacji o awariach.
2. Spróbuj się zalogować do phpMyAdmin przez panel hostingu – jeśli phpMyAdmin też nie działa, MySQL leży.
3. Sprawdź Twittera lub grupy Facebook klientów danego hostingu – przy większej awarii wrzucają tam informacje szybciej niż pojawia się oficjalna notka.

Co zrobić:

  • Pisz do supportu z dokładnym komunikatem błędu, czasem wystąpienia, nazwą domeny. Im więcej szczegółów, tym szybsza reakcja.
  • Postaw tymczasową stronę informacyjną (HTML, plik `index.html` w katalogu głównym). Dla klientów lepiej widać "Pracujemy nad problemem" niż techniczny błąd.
  • Jeśli masz backup, rozważ postawienie strony w innym miejscu (VPS, inny hosting) jako fallback.

Dla administratorów z dostępem root (VPS, serwery dedykowane):

  • `systemctl status mysql` lub `systemctl status mariadb` – pokazuje stan usługi
  • `systemctl restart mysql` – restart silnika
  • `tail -f /var/log/mysql/error.log` – logi na żywo
  • `df -h` – sprawdź wolne miejsce, często MySQL pada gdy dysk jest pełny
  • `free -m` – sprawdź RAM, przy wyczerpaniu pamięci kernel ubija MySQL jako największy proces

Typowe błędy w logu MySQL i ich znaczenie:

BłądZnaczenieNaprawa
Can't start server: Bind on TCP/IP portPort 3306 zajęty lub MySQL już działaSprawdź `netstat -tlnp grep 3306`
InnoDB: Unable to lock ./ibdata1Poprzedni proces nie zwolnił plikuZabij zombie proces, restart
Out of memoryBrak RAMZwiększ RAM lub obniż innodb_buffer_pool_size
Disk fullPełny dyskWyczyść logi, zwiększ dysk
Table is marked as crashedUszkodzona tabela MyISAMREPAIR TABLE

Jeśli nie jesteś administratorem serwera – to nie Twój problem do rozwiązania. Napisz do hostingu i wymagaj rekompensaty za SLA, jeśli takie oferuje.

Bazę zhackowano – złośliwe zapisy i jak to sprawdzić

Nie każdy problem z bazą to kwestia techniczna. Czasem ktoś dostał się do środka i zrobił bałagan. Sygnały, że Twoja baza mogła zostać zhackowana:

  • Nowe konta administratora, których nie zakładałeś
  • Podejrzane wpisy w tabeli `wp_options` (np. w `home` lub `siteurl` inna domena niż Twoja)
  • Tabele o dziwnych nazwach (`wp_users_backup`, `wp_hidden_x`, losowe stringi)
  • Masowe przekierowania strony na zewnętrzne domeny
  • Komunikat Google "Ta strona może być niebezpieczna" w SERPach
  • Nagłe pojawienie się spamu w komentarzach lub nowych postach

Checklist panic mode – pierwsze 10 minut:

1. Zmień hasło bazy w panelu hostingu i wp-config.php (w tej kolejności).
2. Zmień salt keys w wp-config.php (generator: `https://api.wordpress.org/secret-key/1.1/salt/`).
3. Sprawdź tabelę `wp_users`: `SELECT ID, user_login, user_email, user_registered FROM wp_users ORDER BY user_registered DESC;` – usuń podejrzane konta.
4. Sprawdź `wp_usermeta`: szukaj wpisów z `meta_key = 'wp_capabilities'` i wartością zawierającą `administrator` – tam ukrywają się admini.
5. Sprawdź `wp_options`: `SELECT * FROM wp_options WHERE option_name IN ('siteurl', 'home', 'admin_email');` – wszystkie trzy powinny wskazywać Twoją domenę i Twój email.
6. Zrób dump bazy jako dowód do późniejszej analizy.

Co dalej:

  • Zainstaluj Wordfence Premium lub Sucuri, przeskanuj całą instalację.
  • Wymuś wylogowanie wszystkich: `wp user session destroy --all` (WP-CLI).
  • Zmień hasła WSZYSTKIM użytkownikom (nie tylko adminom): `wp user reset-password $(wp user list --field=ID) --skip-email`.
  • Sprawdź czy w katalogu wp-content nie ma podrzuconych plików PHP z obcymi nazwami (losowe stringi typu `class-wp-xyz.php`).

Pełny przewodnik reakcji na włamanie mamy w artykule WordPress zhackowany – co robić krok po kroku. Warto też sprawdzić jak zabezpieczyć WordPress przed atakami oraz najczęstsze luki bezpieczeństwa we wtyczkach. Jeśli sytuacja Cię przerasta, zgłoś się do nas przez formularz kontaktowy – prowadzimy usługi odzyskiwania zaatakowanych stron.

Zbyt duża baza – optymalizacja i czyszczenie postów, rewizji, transients

Baza WordPress puchnie z czasem. Nawet zwykły blog po 3 latach łatwo osiąga 200-500 MB. Przy sklepie WooCommerce z kilkoma tysiącami zamówień mówimy o gigabajtach. Duża baza to wolniejsze zapytania, dłuższe kopie zapasowe i większa szansa na uszkodzenie.

Co puchnie najszybciej:

  • Rewizje postów – domyślnie WordPress zapisuje każdą zmianę. Artykuł edytowany 50 razy to 50 kopii w bazie.
  • Transients – tymczasowe dane wtyczek, które powinny się same czyścić, a często zostają.
  • Spam i kosz – komentarze-śmieci i odrzucone wpisy w `wp_comments`.
  • Orphan metadata – wpisy w `wp_postmeta` i `wp_usermeta` wskazujące na nieistniejące posty/użytkowników.
  • Logi wtyczek – niektóre wtyczki (np. WooCommerce, Action Scheduler) zapisują milion wpisów historii.
  • Sesje użytkowników – przy dużym ruchu tabela `wp_options` puchnie o dane sesji.

Szybkie czyszczenie przez WP-CLI:

  • Limit rewizji w wp-config.php: `define('WP_POST_REVISIONS', 5);` – tylko 5 ostatnich wersji artykułu
  • Usunięcie starych rewizji: `wp post delete $(wp post list --post_type=revision --format=ids) --force`
  • Czyszczenie spam komentarzy: `wp comment delete $(wp comment list --status=spam --format=ids) --force`
  • Czyszczenie transients: `wp transient delete --all`
  • Optymalizacja tabel: `wp db optimize`

Przez wtyczki: WP-Optimize i Advanced Database Cleaner robią to wszystko przez klikalny interfejs. Dobra opcja dla osób bez SSH. Wyłącz wtyczkę po skończeniu – nie powinna ciągle wisieć w tle.

Woo-commerce specjalnie:

  • `wp wc tool run regenerate_product_lookup_tables` – przebudowa tabel lookup
  • W ustawieniach Action Scheduler włącz usuwanie ukończonych zadań starszych niż 7 dni
  • Wyłącz logowanie wszystkich zmian w panelu, jeśli masz wtyczkę aktywności

Po czyszczeniu baza bywa dwa razy mniejsza, a zapytania działają wyraźnie szybciej. Zerknij też do jak zoptymalizować bazę WooCommerce i limit rewizji postów WordPress – mamy tam osobne przewodniki dla sklepów.

Wolna baza – indeksy, query cache, MySQL 8.0 vs MariaDB

Baza nie wyrzuca błędu, ale zapytania trwają sekundami? To problem wydajnościowy, nie awaryjny – ale też warto go rozwiązać, zanim zamieni się w Error establishing.

Pierwszy krok – diagnoza. Zainstaluj wtyczkę Query Monitor. Pokazuje wszystkie zapytania SQL wykonane na stronie, czas ich trwania i które wtyczki je generują. Znajdziesz tam winowajców w kilka minut. Typowe wzorce:

  • Jedna wtyczka generuje setki zapytań (zwykle analityka, system rezerwacji, kreator pól)
  • Autoloaded options przekraczają 1 MB (spowalnia każdą stronę)
  • Brak indeksów na tabelach metadanych

Sprawdzenie autoloaded options: W phpMyAdmin: `SELECT SUM(LENGTH(option_value)) FROM wp_options WHERE autoload = 'yes';` Jeśli wynik przekracza 1 048 576 (1 MB) – masz problem. Zobacz co się tam wczytuje: `SELECT option_name, LENGTH(option_value) FROM wp_options WHERE autoload = 'yes' ORDER BY LENGTH(option_value) DESC LIMIT 20;`

Dodawanie indeksów. Tabela `wp_postmeta` przy dużym sklepie potrzebuje indeksu na kombinacji meta_key + meta_value. WP-CLI pomaga: `wp db query "CREATE INDEX meta_key_value ON wp_postmeta(meta_key, meta_value(20));"`

Slow query log. Na VPS/dedyku włącz w my.cnf: `slow_query_log = 1` i `long_query_time = 1`. Logi pokażą dokładnie, które zapytania zajmują więcej niż sekundę. To złoto przy optymalizacji.

MySQL 8.0 vs MariaDB 10.11:

  • MySQL 8.0 – szybszy przy JSON, lepszy optymalizator, obsługa window functions. Cięższy, wymaga więcej RAM.
  • MariaDB 10.11 – lżejsza, lepsza kompresja InnoDB, open source. Większość hostingów polskich (CloudPanel, Plesk) wybiera MariaDB.

Dla WordPressa różnica wydajnościowa jest minimalna (różne testy dają różne wyniki). Ważniejsze jest to, żeby hosting miał ustawiony `innodb_buffer_pool_size` na przynajmniej 25% dostępnego RAM. Ten parametr to cache tabel InnoDB – najważniejszy tuning dla WordPressa.

Jeśli wolisz delegować optymalizację, zerknij na nasze usługi strony internetowe – robimy audyty wydajności i wdrażamy poprawki. Pomocne mogą być też jak skonfigurować Redis Object Cache i wtyczki cache dla WordPress – ranking.

Jak zapobiegać problemom – backup strategy, monitoring, CyberFolks

Najlepszy problem z bazą to ten, którego nie masz. Po awarii zawsze jest sentyment "gdybym miał backup" – więc zbudujmy to porządnie od teraz.

Backup strategy 3-2-1:

  • 3 kopie danych – oryginał plus dwa backupy
  • 2 różne nośniki – hosting + chmura zewnętrzna
  • 1 kopia off-site – fizycznie w innym miejscu (S3, Google Drive, Dropbox, własny dysk)

Wtyczki backup, które naprawdę działają:

  • UpdraftPlus – najpopularniejsza, darmowa, wysyła do Dropbox/GDrive/S3. Robi tak backup bazy, jak i plików.
  • BackWPup – darmowa, mocniejsza dla dużych stron, obsługuje rotację.
  • WP Time Capsule – inkrementalny, tylko różnice od ostatniego backupu. Szybki i oszczędny miejscowo.
  • All-in-One WP Migration – głównie do migracji, ale też robi pełne paczki.

Częstotliwość:

  • Blog z 1-2 postami tygodniowo: backup dzienny bazy, tygodniowy plików
  • Sklep WooCommerce: backup co 6 godzin bazy, dzienny plików
  • Portal z wysokim ruchem i edycjami: backup co godzinę bazy

Retencja: Minimum 14 dni wstecz, optymalnie 30. Czasem problem (np. włamanie) wychodzi na jaw po tygodniach – wtedy świeże backupy już są "zainfekowane" i potrzebujesz starszych.

Monitoring uptime:

  • UptimeRobot – darmowy plan dla 50 stron, ping co 5 minut
  • Better Uptime – ładne raporty, integracja ze Slack
  • BetterStack – dla zespołów, alerty na telefon

Hosting ma znaczenie. Tani hosting za 10 PLN/mies zwykle nie ma wydajnej bazy, codziennych automatycznych backupów ani realnego supportu. Polecamy CyberFolks – hosting od 15 PLN/mies, LiteSpeed, automatyczne snapshoty codzienne, polski support dostępny 24/7 i co najważniejsze – realne limity MySQL które wytrzymują nawet średnie sklepy WooCommerce. Przez ostatnie lata postawiliśmy u nich kilkadziesiąt stron klienckich i jeszcze nie mieliśmy awarii bazy spowodowanej przez hosting.

Podsumowanie zapobiegania: backup codzienny off-site, monitoring uptime, porządny hosting, aktualne wtyczki i rdzeń WordPressa, silne hasła bazy (min. 24 znaki), wyłączone XML-RPC jeśli niepotrzebne. To razem eliminuje 95% scenariuszy, w których musisz mierzyć się z awarią.

Potrzebujesz pomocy teraz albo chcesz przenieść stronę do nas pod opiekę? Zadzwoń +48 604 939 140 lub napisz przez formularz kontaktowy. Opieka nad WordPressem – aktualizacje, backupy, monitoring, naprawa awarii w godzinach ciszy – od 200 PLN/mies. Lepsza cena niż kolejna nieprzespana noc z Error establishing.

Kiedy warto zlecić to specjaliście

Wiele z tych problemów można rozwiązać samodzielnie – ale gdy brakuje czasu, narzędzi lub utknąłeś na etapie diagnozy, warto zlecić pracę zespołowi który robi to codziennie. W KC Mobile zajmujemy się tym od lat.

Zobacz powiązane usługi i materiały:

Jeśli opis w tym wpisie nie dotyczy dokładnie Twojej sytuacji, napisz do nas – odpowiadamy w ciągu 24 godzin roboczych.

Wspomniane narzędzia

phpMyAdmin WP-CLI UpdraftPlus BackWPup WP Time Capsule Query Monitor WP-Optimize Advanced Database Cleaner Wordfence Sucuri UptimeRobot Better Uptime CyberFolks LiteSpeed Cache WP Rocket Redis Cloudflare MariaDB MySQL 8.0 CloudPanel

Potrzebujesz pomocy z WordPress?

Tworzymy i naprawiamy strony na WordPress. Optymalizacja prędkości, bezpieczeństwo, aktualizacje. 500+ zrealizowanych projektów.

Najczęściej zadawane pytania

Co oznacza "Error establishing a database connection" w WordPress?
Ten komunikat znaczy, że WordPress nie może nawiązać połączenia z bazą danych MySQL lub MariaDB. Najczęściej wynika z błędnych danych w pliku wp-config.php (nazwa bazy, użytkownik, hasło, host), z awarii silnika MySQL po stronie hostingu, przekroczenia limitu równoczesnych połączeń albo uszkodzenia tabel. Zacznij diagnozę od sprawdzenia wp-config.php i logowania do phpMyAdmin tymi samymi danymi.
Jak szybko naprawić błąd bazy danych WordPress?
W większości przypadków wystarczy pięć kroków. Zaloguj się do panelu hostingu i sprawdź status bazy. Otwórz phpMyAdmin loginami z wp-config.php – jeśli nie wejdziesz, zresetuj hasło bazy. Sprawdź wolne miejsce na dysku. Dodaj do wp-config.php linię define WP_ALLOW_REPAIR true i uruchom maint/repair.php. Jeśli nic nie pomaga, skontaktuj się z hostingiem, bo problem leży po ich stronie.
Czy mogę stracić dane gdy WordPress ma problem z bazą?
Sam komunikat błędu połączenia nie oznacza utraty danych. Baza zwykle jest cała, po prostu niedostępna. Dane tracisz dopiero gdy ktoś przypadkowo usunie tabele, operacja REPAIR na mocno uszkodzonej tabeli wyrzuci rekordy albo przy włamaniu atakujący wyczyści zawartość. Właśnie dlatego przed jakimikolwiek naprawami zawsze zrób dump bazy (phpMyAdmin → Eksport albo wp db export) – masz wtedy punkt powrotu.
Dlaczego moja baza danych WordPress jest wolna?
Najczęstsze przyczyny to: nadmiar rewizji postów i transients, brak indeksów na tabelach metadanych, autoloaded options powyżej 1 MB, źle napisane wtyczki generujące setki zapytań na stronę, zbyt mały innodb_buffer_pool_size po stronie hostingu. Zdiagnozujesz to wtyczką Query Monitor – pokaże wszystkie zapytania i czas ich trwania. Po wyczyszczeniu starych rewizji i ograniczeniu ich liczby w wp-config.php widać różnicę gołym okiem.
Jak sprawdzić czy baza WordPress została zhackowana?
Zaloguj się do phpMyAdmin i sprawdź cztery rzeczy. W tabeli wp_users szukaj nowych kont, których nie zakładałeś. W wp_usermeta filtruj meta_key wp_capabilities ze słowem administrator. W wp_options upewnij się, że siteurl i home wskazują Twoją domenę. Przeskanuj listę tabel pod kątem nazw typu wp_hidden_x czy wp_users_backup. Po wykryciu czegokolwiek podejrzanego od razu zmień hasła, salt keys i skanuj stronę wtyczką Wordfence.
Czy warto migrować z MySQL na MariaDB w WordPress?
Różnica wydajnościowa dla WordPressa jest minimalna – zwykle mówimy o kilku procentach na korzyść MariaDB, ale zależy to od obciążenia. MariaDB ma lepszą kompresję InnoDB i jest lżejsza pamięciowo. MySQL 8.0 lepiej radzi sobie z JSON i bardziej złożonymi zapytaniami. Większość polskich hostingów (CloudPanel, Plesk, CyberFolks) używa MariaDB i to dobry domyślny wybór. Nie migruj tylko dla migracji – migruj gdy widzisz konkretne problemy wydajnościowe.
Jaki hosting jest najlepszy dla dużej bazy WordPress?
Dla bazy powyżej 500 MB lub sklepu WooCommerce z aktywną sprzedażą odradzamy hosting współdzielony. Minimum to VPS z 4 GB RAM, SSD NVMe i LiteSpeed lub Nginx. CyberFolks sprawdza się świetnie w segmencie shared+ i VPS dzięki automatycznym snapshotom, realnym limitom MySQL i polskim supportom. Kategorycznie odradzamy nazwa.pl i home.pl – drogie, słabo wydajne i z fatalnym supportem technicznym przy problemach z bazą.
Jak często robić kopię zapasową bazy WordPress?
Dla bloga w pełni wystarczy codzienny backup bazy i tygodniowy plików. Sklep WooCommerce wymaga backupu bazy co 6 godzin, bo każde zamówienie to dane, których nie chcesz stracić. Portal z dużym ruchem i częstymi edycjami – co godzinę. Kopie trzymaj off-site (Google Drive, Dropbox, S3), nigdy tylko na serwerze z WordPressem. Retencja minimum 14 dni, bo niektóre problemy (zwłaszcza włamania) wychodzą na jaw dopiero po kilku tygodniach.
#WordPress#baza danych#MySQL#MariaDB#error establishing database connection#troubleshooting#wp-config#phpMyAdmin#WP-CLI#backup#hosting#optymalizacja#bezpieczeństwo#naprawa WordPress
Zdjęcie autora: Krzysztof Czapnik
O autorze

Krzysztof Czapnik

CEO KC Mobile

20+ lat doświadczenia w digital marketingu i tworzeniu stron internetowych. Specjalizuję się w SEO, kampaniach Google Ads oraz budowaniu skutecznych strategii online dla firm z całej Polski.

Potrzebujesz pomocy?

Potrzebujesz profesjonalnej strony WordPress?

Tworzymy strony WordPress, które są szybkie, bezpieczne i zoptymalizowane pod SEO. Od 3000 zł.

Bezpłatna wycena