Krótka odpowiedź
Zapisz objaw i czas, sprawdź status hostingu oraz prywatny log. Porównaj konfigurację bazy z danymi operatora bez resetowania haseł na próbę.
Zabezpiecz kopie i nowsze zapisy sklepu. REPAIR nie naprawia InnoDB; operacje na tabelach wymagają potwierdzonego problemu, właściwego silnika i planu odzyskania.
Błąd bazy WordPressa może oznaczać niedostępne połączenie, odmowę uprawnień lub problem konkretnego zapytania. Zacznij od ustalenia, co rzeczywiście zawiodło. Poniżej znajdziesz kolejność sprawdzeń, zasady ochrony bieżących danych i granice samodzielnej naprawy.
W tym poradniku
Ustal, czy problem dotyczy połączenia, danych czy szybkości
Komunikat Error establishing a database connection mówi, że WordPress nie uzyskał potrzebnego połączenia z bazą. Sam w sobie nie oznacza usunięcia wpisów ani zamówień. Nie wskazuje też jednej przyczyny. Może chodzić o konfigurację, dostęp konta, usługę bazy lub jej ograniczenia.
Zanotuj adres, czas i czynność. Sprawdź, czy problem obejmuje stronę publiczną, wp-admin oraz różne podstrony. Działająca strona główna może pochodzić z cache, więc nie dowodzi sprawnego połączenia aplikacji z bazą. Podobnie działający panel nie wyklucza błędu zapytania wykonywanego tylko przez konkretny moduł.
Oddziel brak połączenia od wolnego działania i błędu jednej tabeli. Jeśli witryna działa, ale czeka na odpowiedź, przydatna będzie diagnoza wolnego WordPressa. Nie zaczynaj od czyszczenia bazy tylko dlatego, że zajmuje dużo miejsca. Rozmiar nie wyjaśnia samodzielnie przyczyny awarii.
Podaj adres strony, objaw błędu i informację, od kiedy występuje. Jeśli problem pojawił się po zmianie lub aktualizacji, wspomnij o niej. Na początek wystarczy opis; nie przesyłaj haseł. Opisz problem z WordPressem
Sprawdź hosting i właściwy komunikat błędu
Otwórz panel hostingu i jego stronę statusową. Sprawdź dostępne miejsce, komunikaty o ograniczeniach konta i działaniu usługi bazy. Jeśli operator potwierdza awarię, nie zmieniaj na próbę danych w WordPressie. Dodatkowa zmiana może utrudnić powrót strony po usunięciu problemu serwera.
Odczytaj prywatny log PHP lub bazy z czasu awarii. W referencji błędów MySQL kod 1044 dotyczy odmowy dostępu do wskazanej bazy, a 1045 odmowy dostępu konta. Treść komunikatu, użytkownik i host mają znaczenie. Nie należy automatycznie tłumaczyć każdego Access denied jako błędnego hasła.
Log może również wskazywać przekroczenie liczby połączeń, brak miejsca lub problem konkretnej tabeli. Przekaż operatorowi kod i czas, usuwając z udostępnianego fragmentu dane prywatne. Nie wystawiaj na stronie skryptu testującego połączenie z wpisanym hasłem.
Sam niedostępny phpMyAdmin nie dowodzi awarii MySQL. Narzędzie ma własną konfigurację i drogę dostępu. Z kolei działające logowanie przez panel może korzystać z innego konta niż WordPress. To pomocnicza obserwacja, a nie rozstrzygający test.
Porównaj konfigurację bez resetowania haseł na próbę
WordPress korzysta między innymi z DB_NAME, DB_USER, DB_PASSWORD i DB_HOST. Porównaj nazwę bazy, przypisanie użytkownika oraz adres serwera z danymi operatora. Host nie zawsze ma wartość localhost. Może być potrzebny inny adres, port lub socket.
Przy awarii po migracji sprawdź, czy konfiguracja wskazuje nowe środowisko oraz właściwą bazę. Nie zakładaj, że użytkownik utworzony w panelu otrzymał automatycznie wymagany dostęp. Dokumentacja połączeń MySQL pokazuje znaczenie konta i hosta, z którego nawiązywane jest połączenie.
Nie resetuj hasła jako pierwszego testu. Inne procesy mogą korzystać z tego samego konta, a niezsynchronizowana zmiana unieruchomi je dodatkowo. Jeśli potwierdzono potrzebę korekty, przygotuj aktualizację właściwej konfiguracji i możliwość cofnięcia. Nie wklejaj pełnego wp-config.php do publicznego wątku ani formularza kontaktowego.
Sprawdź też, czy edytujesz plik właściwej instalacji. Przy kilku domenach lub kopii testowej łatwo poprawić konfigurację innej strony. Zabezpiecz plik przed zmianą i unikaj edycji przypadkowych wartości niezwiązanych z rozpoznanym problemem.
Zabezpiecz dane przed naprawą lub odtworzeniem
Przed ingerencją ustal, jakie kopie są dostępne, z jakiego czasu pochodzą i czy obejmują właściwą bazę oraz pliki. Sam widok archiwum w panelu nie potwierdza możliwości odtworzenia. Jeśli baza nie odpowiada, poproś hosting o zabezpieczenie dostępnego stanu; nie zakładaj, że eksport zakończy się poprawnie.
Przy sklepie zwróć uwagę na dane powstałe po wykonaniu kopii: zamówienia, zmiany stanów, konta i aktualizacje produktów. Przywrócenie starszej bazy może je nadpisać. Ustal sposób zachowania i rozliczenia tych zapisów, zanim zaakceptujesz restore. Kopia plików bez bazy nie odtworzy całej działalności WordPressa.
Podejrzanie uszkodzony stan także warto zachować osobno do analizy. Nie nadpisuj nim potwierdzonego archiwum sprzed awarii. Kopie i eksporty przechowuj poza publicznym katalogiem strony z dostępem ograniczonym do osób prowadzących naprawę.
Jeśli nie ma kompletnej kopii, a log wskazuje uszkodzenie danych, przerwij eksperymenty z narzędziami naprawczymi. Administrator bazy powinien ocenić możliwy sposób odzyskania i ryzyko każdego kroku.
REPAIR TABLE nie jest naprawą każdej bazy
Polecenie REPAIR TABLE nie działa jednakowo dla wszystkich silników. Dokumentacja MySQL wymienia MyISAM, ARCHIVE i CSV. InnoDB nie naprawia się tą samą procedurą. Zanim wybierzesz narzędzie, trzeba znać silnik konkretnej tabeli i rzeczywisty błąd.
Dokumentacja podkreśla: "Make a backup of a table before performing a table repair operation". Operacja naprawcza może spowodować utratę danych. Dlatego zaznaczenie wszystkich tabel w phpMyAdmin i uruchomienie naprawy nie jest bezpiecznym pierwszym krokiem przy ogólnym komunikacie WordPressa.
WP-CLI nie usuwa tych ograniczeń. Jego narzędzia korzystają z mechanizmów bazy. Również OPTIMIZE nie naprawia automatycznie uszkodzonego połączenia, a przebudowa tabel może wymagać czasu, wolnego miejsca i uwzględnienia obciążenia.
Ustawienie WP_ALLOW_REPAIR udostępnia specjalną funkcję WordPressa. Dokumentacja konfiguracji wyjaśnia, że dostęp do niej nie wymaga logowania. Nie włączaj go jako ogólnej próby naprawy. Jeśli administrator wykorzystuje ten mechanizm w uzasadnionym scenariuszu, powinien kontrolować dostęp, zakres i usunięcie ustawienia po zakończeniu.
Rozróżnij przeciążenie od problemu konkretnego zapytania
Przekroczenie limitu połączeń może wynikać z obciążenia, długich zapytań lub sposobu działania aplikacji. Nie rozwiązuje go automatycznie zwiększenie PHP memory_limit. Log oraz pomiar administratora pomogą ustalić, czy problem dotyczy konta bazy, usługi czy konkretnego procesu.
Gdy strona działa, Query Monitor może pomóc rozpoznać zapytania wykonywane podczas danej czynności. Dokumentacja narzędzia opisuje ich czas, wywołujący komponent i błędy. Analizuj reprezentatywne żądanie na kopii. Duża liczba zapytań nie zawsze oznacza, że to one odpowiadają za najdłuższe oczekiwanie.
Nie dodawaj uniwersalnego indeksu do wp_postmeta bez analizy zapytania, istniejących indeksów i planu wykonania. Prefiks tabel może być inny, a zmiana struktury wymaga osobnego testu. Nie usuwaj też wszystkich transients lub rewizji w nadziei na zlikwidowanie każdej awarii.
Jeżeli log wskazuje fatal pamięci PHP, skorzystaj z poradnika memory limit. Jeśli operator potwierdzi ograniczenia infrastruktury, porównaj potrzeby z kryteriami wyboru hostingu, bez automatycznego przeliczania rozmiaru bazy na wymagany VPS.
Co oznacza ostrzeżenie o autoload
Opcje autoload są wczytywane przez WordPressa do wykorzystania przez aplikację. Nie oznacza to automatycznego wykonywania ich wartości jako kodu PHP. Samo występowanie dużej opcji nie dowodzi infekcji ani nie uzasadnia jej usunięcia.
W aktualnej referencji testu Stanu witryny domyślny próg ostrzeżenia wynosi 800000 bajtów. Może zostać zmieniony filtrem. To wskazanie do analizy wpływu opcji, a nie uniwersalna granica sprawnej bazy.
Starsze zapytanie filtrujące wyłącznie autoload równe yes może pominąć część danych. WordPress opisuje również wartości on, auto-on i auto. Użyj narzędzia uwzględniającego bieżącą wersję, ustal właściciela opcji i potrzebę jej wczytywania. Usunięcie ustawienia wtyczki może zepsuć funkcję, która dotąd działała.
Kiedy zakończyć diagnozę i przekazać problem
Po poprawce sprawdź tę samą czynność oraz log z nowego testu. Potwierdź, że aplikacja korzysta z właściwej bazy i zachowała wymagane dane. Test zapisu wykonuj na kopii w kontrolowanym zakresie. Przy sklepie nie uruchamiaj prawdziwej płatności ani automatycznych powiadomień tylko po to, by sprawdzić połączenie.
Nowe nieznane konta, przekierowania i nieautoryzowane zmiany wymagają odrębnej ścieżki incydentu. Nie kasuj wpisów na podstawie samej nazwy. Przejdź do poradnika po włamaniu i zachowaj dowody.
Jeżeli potrzebujesz pomocy, wystarczy adres strony i objaw w wiadomości kontaktowej. Czas błędu, ostatnia zmiana oraz dostępność backupu są opcjonalnym uzupełnieniem. Możesz zlecić naprawę WordPressa, a po rozwiązaniu problemu ustalić zasady opieki nad witryną, w tym kopie odpowiadające częstotliwości zmian danych.
Więcej poradników w tym temacie
Wspomniane narzędzia
Najczęściej zadawane pytania
Czy błąd połączenia oznacza utratę bazy danych?
Dlaczego phpMyAdmin działa, a WordPress nie?
Czy po Access denied trzeba zresetować hasło?
Czy REPAIR TABLE naprawi tabelę InnoDB?
Czy można bezpiecznie włączyć WP_ALLOW_REPAIR?
Co oznacza ostrzeżenie o autoload w Stanie witryny?
Jak przywrócić bazę sklepu bez utraty nowych zamówień?
Kiedy zgłosić problem z bazą hostingowi?
Przypisy i źródła
Źródła zawierają linki do zewnętrznych raportów branżowych, badań i oficjalnych publikacji. Klikając w numerację [X] w treści artykułu, automatycznie zostaniesz przeniesiony do odpowiedniego przypisu.
Ustalmy, co wymaga naprawy
Podaj adres strony, objaw błędu i informację, od kiedy występuje. Jeśli problem pojawił się po zmianie lub aktualizacji, wspomnij o niej. Na początek wystarczy opis; nie przesyłaj haseł.