“Błąd łączenia się z bazą danych” jest prawdopodobnie jednym z najbardziej spotykanych i drastycznych błędów z którym można się napotkać używając WordPressa. Jest to prawie to samo, co błąd serwera czy HTTP ponieważ widzimy taką samą białą stronę. Ten błąd oznacza, że strona nie może nawiązać połączenia lub nie ma dostępu do bazy danych WordPress, co wyłącza całą stronę i powoduje brak nowych sprzedaży i spadek ruchu.
Jeżeli przy aktualizacji WordPress do wersji 5.5 powstały problemy – polecamy przeczytać nasz artykuł.
Dlaczego problem z bazą danych w WordPress się pojawia?
W skrócie można wyodrębnić 4 powody występowania problemów z bazą danych, zwykle ich naprawa zajmuje do 15 min.
- Dane logowania do bazy danych są niepoprawne – należy sprawdzić dane w pliku wp-config.php z dostępami do bazy danych MySQL.
- Baza danych jest uszkodzona – przy wykonaniu częstych i dużych zmian w motywach, wtyczkach oraz użytkownikach baza danych lub tabela mogą się uszkodzić. Może to być spowodowane brakiem lub uszkodzoną tabelą lub być może niektóre informacje zostały usunięte przez przypadek. Pomóc może naprawa tabeli w phpMyAdmin lub przywrócenie kopii zapasowej bazy danych.
- Uszkodzone pliki WordPress – może się to zdarzyć nawet z powodu włamania się na stronę.
- Problemy z serwerem bazy danych – chwilowo na serwerze ze stroną www może być niedostępna usługa baz danych, albo przez nagły wzrost ruchu na stronie na koncie zabrakło limitów na zapytania do bazy danych
Jak zidentyfikować problemy z nawiązaniem połączenia z bazą danych?
W przypadku pojawienia się problemu z bazą danych na stronie zobaczymy taki komunikat:
Ta strona może się wyświetlić z jednego z powyżej opisanych powodów, w kolejnym dziale opiszemy jak można naprawić problem z łączeniem z bazą danych.
Przy próbie wejścia do panelu admin WordPress możemy zobaczyć sugestie i trochę więcej informacji na temat powstałego problemu:
Jak naprawić problem z połączeniem do bazy danych (4 kroki):
1. Sprawdzamy poprawność danych dostępowych do bazy.
W pierwszej kolejności sprawdzamy czy dane logowania się do bazy danych MySQL są w porządku. Przeważnie z tego powodu taki komunikat o błędzie pojawia się na stronie z WordPress. Zwłaszcza po tym, jak strona jest przenoszona na nowy hosting lub pomiędzy serwerami. Poniższe dane (kod) dostępne do edycji w folderze głównym nasze strony na WordPress w pliku wp-config.php.
Nazwa Bazy Danych:
// ** MySQL settings ** //
/** The name of the database for WordPress */
define('DB_NAME', 'xxxxxx');
Nazwa użytkownika z dostępem do bazy MySQL:
/** MySQL database username */
define('DB_USER', 'xxxxxx');
Hasło użytkownika z dostępem do MySQL:
/** MySQL database password */
define('DB_PASSWORD', 'xxxxxxxxx');
Nazwa serwera/hostname bazy MySQL (zwykle jest localhost, czasami spotykamy 127.0.0.1 lub dowolny adres IP, jeżeli baza danych jest uruchomiona zdalnie – na innym serwerze):
/** MySQL hostname */
define('DB_HOST', 'localhost');
2. Sprawdzamy uprawnienia użytkownika bazy danych.
Kolejną rzeczą sprawdzamy uprawnienia utworzonego użytkownika dla MySQL, pokażemy to na przykładzie cPanel. Wchodzimy do cPanel -> Bazy danych MySQL -> Bieżące bazy danych -> klikamy w użytkownika na interesującej bazie danych:
3. Naprawiamy bazę danych WordPress.
Baza danych WordPress jest dość skomplikowana, co oznacza że kilka komponentów muszą współpracować cały czas, aby dane były wyświetlane. W przypadku problemów można zobaczyć błąd w nawiązywaniu połączenia.
Pierwszą rzeczą musimy zweryfikować czy otwiera się panel admin WordPress – STRONA.pl/wp-admin
Jeśli pojawia się błąd “błąd łączenia się z bazą danych” – można pominąć ten krok.
W przypadku wystąpienia innego komunikatu – czytamy co sugeruje nam zrobić sam WordPress, ostatnie wersje tego CMS zostało dodane narzędzie do rozwiązywania problemów z bazą danych i innych. W razie problemów “z jedną lub więcej tabel bazy danych” możemy zrobić następne czynności.
Po wejściu na stronę naprawy bazy danych:
https://strona.pl/wp-admin/maint/repair.php
zobaczymy informacje co należy zrobić dalej, aby uaktywnić narzędzia WP. Czyli musimy do pliku wp-config.php poprzez Menadżer plików lub FTP dodać linie:
define('WP_ALLOW_REPAIR', true);
Zapisujemy zmiany w wp-config.php i odświeżamy stronę.
W tym momencie mamy do wyboru kilka opcji, co WordPress mógłby zrobić ze stroną i wybieramy odpowiednią.
4. Sprawdzamy czy serwer Bazy Danych jest dostępny i online.
Aby sprawdzić czy serwer MySQL na hostingu lub serwerze działa najprościej możemy spróbować wejść i zalogować się do phpMyAdmin poprzez cPanel lub Directadmin.
Jeżeli phpMyadmin się otwiera przechodzimy do punktu 1. i sprawdzamy poprawność danych do logowania się do bazy.
Do weryfikacji danych oraz połączenia z bazą możemy utworzyć plik tekstowy o nazwie baza.php:
<?php $test = mysqli_connect('localhost', 'uzytkownik', 'haslo'); if (!$test) { die('Blad MySQL: ' . mysqli_error()); } echo 'Baza danych jest dostepna i aktywna!'; mysqli_close($testConnection);
Jeżeli po wejściu na stronę http://strona.pl/baza.php zobaczymy “Blad MySQL…” to oznacza że jednak usługa MySQL na serwerze jest wyłączona i w takim przypadku należy się skontaktować z administratorem lub hostingiem.
Podsumowanie
Jak widać, istnieje kilka sposobów na naprawienie błędu łączenia się z bazą danych w WordPress. Najczęściej są to niepoprawne dane dostępowe w wp-config.php. Weryfikacja podanych danych w tym pliku – będzie najlepszym punktem startowym do naprawy działania strony. Mamy nadzieje, że powyższe kroki pomogły w przywróceniu działania strony. Konto na hostingu w każdym czasie można przywrócić z kopii zapasowej.