„error establishing a database connection” jest prawdopodobnie jednym z najczęstszych i najstraszniejszych błędów, jakie mogą napotkać użytkownicy WordPressa. Jest to zdecydowanie ściśle związane z Białym Ekranem Śmierci (WSOD). Ten błąd oznacza, że Twoja witryna nie komunikuje się już ani nie jest dostępna dla bazy danych WordPress, a cała witryna nie działa.
W przypadku takiego błędu webmasterzy nigdy nie powinni lekceważyć sytuacji i powinni natychmiast spróbować naprawić ten problem, który bezpośrednio wpływa na ruch, SEO itp. Ale nie martw się, dzisiaj omówimy kilka typowych scenariuszy, które prowadzą do tego błędu i odpowiednich rozwiązań .
Co to jest „error establishing a database connection”?
Wszystkie informacje w witrynie WordPress, takie jak publikowanie danych, dane stron, metainformacje, ustawienia wtyczek, dane logowania itp., są przechowywane w bazie danych MySQL. Jedyne dane, które nie są przechowywane, to zawartość multimedialna, taka jak obrazy i pliki motywów/wtyczek/rdzeń, takie jak index.php, wp-login.php itp. Gdy ktoś odwiedza Twoją witrynę, PHP wykonuje kod na stronie i wyszukuje informacje z bazy danych, które są następnie wyświetlane w przeglądarce odwiedzającego.
Jeśli z jakiegoś powodu to nie działa poprawnie, wystąpi error establishing a database connection, jak pokazano poniżej. Cała strona staje się pusta, ponieważ połączenie nie działa poprawnie i nie można pobrać danych do renderowania strony. To nie tylko psuje fronton witryny, ale także uniemożliwia dostęp do pulpitu WordPress.
Jednak odwiedzający mogą nie od razu zobaczyć ten błąd w interfejsie użytkownika. Dzieje się tak, ponieważ pamięć podręczna witryny jest nadal dostępna do czasu wygaśnięcia pamięci podręcznej.
Typowe scenariusze, które prowadzą do „błędu podczas nawiązywania połączenia z bazą danych”
Najczęstszym problemem są nieprawidłowe dane logowania do bazy danych
Witryna WordPress musi korzystać z informacji logowania związanych z bazą danych, aby połączyć się z odpowiednią bazą danych MySQL.
Baza danych jest uszkodzona.
Ponieważ motywy, wtyczki można tak bardzo instalować i odinstalowywać, ciągłe usuwanie i instalacja przez lata może czasami prowadzić do uszkodzenia bazy danych. Może to być spowodowane brakiem lub pojedynczo uszkodzonymi tabelami lub niektóre informacje mogły zostać przypadkowo usunięte.
W instalacji WordPressa mogą znajdować się uszkodzone pliki.
Problemy z serwerem bazy danych
Po stronie hosta internetowego może wystąpić wiele problemów, takich jak przeciążenie bazy danych z powodu skoków ruchu lub brak odpowiedzi z powodu zbyt wielu jednoczesnych połączeń. W rzeczywistości w przypadku hostingu współdzielonego jest to dość powszechne, ponieważ wiele witryn korzysta z zasobów jednego hosta.
Jak naprawić „error establishing a database connection”
Przed rozpoczęciem rozwiązywania problemu zaleca się wykonanie kopii zapasowej bazy danych, ponieważ wiele z poniższych sugestii dotyczy manipulacji informacjami w bazie danych. Bez względu na poziom umiejętności, przed próbą modyfikacji bazy danych witryny WordPress zawsze należy wykonać kopię zapasową.
Możesz użyć wtyczki do tworzenia kopii zapasowych WordPress, takiej jak VaultPress lub Kapsuła czasu WP do tworzenia kopii zapasowych plików i baz danych.
Jeśli jesteś użytkownikiem cPanel, bardzo łatwo jest wykonać kopię zapasową plików witryny i bazy danych. Przejdź do pulpitu nawigacyjnego cPanel, znajdź w menu „Kopia zapasowa”, a następnie ręcznie wykonaj kopię zapasową całej bazy danych i plików witryny.
Oczywiście możesz również wykonać ręczną kopię zapasową plików witryny, uzyskując dostęp do serwera za pomocą narzędzi takich jak SFTP, oraz ręczną kopię zapasową bazy danych MySQL za pośrednictwem phpMyAdmin. Po pomyślnym utworzeniu kopii zapasowej nadszedł czas, aby rozpocząć rozwiązywanie problemu „Błąd nawiązywania połączenia z bazą danych”.
Sprawdź dane logowania do bazy danych
Pierwszą rzeczą do zrobienia jest upewnienie się, że poświadczenia logowania do bazy danych dla pliku konfiguracyjnego WordPress są poprawne. Jest to zdecydowanie najczęstsza przyczyna błędów „Błąd nawiązywania połączenia z bazą danych”, zwłaszcza po migracji witryny do nowego dostawcy hostingu. Szczegóły połączenia z witryną WordPress są przechowywane w pliku wp-config.php, który zwykle znajduje się w katalogu głównym.
Zawiera cztery ważne informacje, które muszą być poprawne, aby połączenie z bazą danych było udane.
Nazwa bazy danych
// ** MySQL settings ** //
/** The name of the database for WordPress */
define('DB_NAME', 'xxxxxx');
Nazwa użytkownika bazy danych
/** MySQL database username */
define('DB_USER', 'xxxxxx');
Hasło do bazy danych
/** MySQL database password */
define('DB_PASSWORD', 'xxxxxxxxx');
Nazwa hosta MySQL
/** MySQL hostname */
define('DB_HOST', 'localhost');
Aby uzyskać dostęp do pliku wp-config.php, możesz połączyć się z witryną przez SFTP i przejść do katalogu głównego witryny. Lub, jeśli używasz cPanel, możesz przejść do pulpitu cPanel i kliknąć „Menedżer plików”, przejść do katalogu głównego witryny, a następnie kliknąć prawym przyciskiem myszy, aby edytować plik.
Poniżej znajduje się przykład tego, jak wygląda plik wp-config.php.
Sprawdź poświadczenia bazy danych w panelu cPanel
Pierwszą rzeczą do sprawdzenia jest nazwa bazy danych. W tym celu musisz przejść do panelu sterowania cPanel i zalogować się do phpMyAdmin .
Znajdź nazwę bazy danych odpowiadającą Twojej stronie w lewym menu. Zignoruj bazę danych „information_schema”, ponieważ jest to baza danych używana przez hosta. Następnie porównaj tę nazwę z wartością DB_NAME w pliku wp-config.php. Jeśli pasują, to nie jest problem. Jeśli się nie zgadzają, musisz zaktualizować plik wp-config.php.
Możesz również sprawdzić, czy jest to właściwa baza danych, upewniając się, że baza danych zawiera adres URL Twojej witryny. Wystarczy kliknąć na bazę danych, a następnie kliknąć na tabelę wp_options (ze względów bezpieczeństwa nazwa ta może być nieco inna, np. wpxx_options). U góry tabeli zobaczysz wartości adresu URL i nazwy witryny. Jeśli są one zgodne z Twoją obecną witryną, jest to baza danych Twojej witryny.
Jeśli nazwa bazy danych jest poprawna, ale nadal pojawia się error establishing a database connection, należy również sprawdzić nazwę użytkownika i hasło. Aby to zrobić, musisz utworzyć nowy plik PHP w katalogu głównym swojej witryny WordPress (nadaj mu losową nazwę, np. checkdb.php) i wpisać następujący kod, który należy zastąpić wartościami db_user i db_password za pomocą wartości z pliku wp-config.php.
<?php $test = mysqli_connect(‘localhost’, ‘db_user’, ‘db_password’); if (!$test) { die(‘MySQL Error: ‘ . mysqli_error()); } echo ‘Database connection is working properly!’; mysqli_close($testConnection); ?>
Odwiedź https://twojadomena.com/checkdb.php w swojej przeglądarce. Jeśli pojawi się komunikat „MySQL Error: Access denied”, Twoja nazwa użytkownika lub hasło są nieprawidłowe i będziesz musiał przejść do następnego kroku, aby zresetować poświadczenia.
Jeśli jednak pokazuje „Połączenie z bazą danych działa prawidłowo”, to nazwa użytkownika i hasło do bazy danych są poprawne. Pamiętaj, aby usunąć ten plik po zakończeniu testowania.
Jeśli masz pewność, że nazwa użytkownika bazy danych i hasło są nieprawidłowe, musisz je zresetować. W cPanel kliknij „Baza danych MySQL”.
Przewiń w dół i utwórz nowego użytkownika MySQL. Spróbuj wybrać unikalną nazwę użytkownika i hasło (możesz użyć dostarczonego narzędzia do generowania haseł, aby wygenerować silne hasło), aby nie było łatwo odgadnąć. Następnie kliknij „Utwórz użytkownika”. Alternatywnie możesz zmienić hasło dla bieżącego użytkownika bazy danych na tym ekranie.
Następnie przewiń w dół i dodaj nowego użytkownika do bazy danych. Następny ekran poprosi Cię o uprawnienia, które chcesz przypisać, wybierz „Wszystkie uprawnienia”
Następnie użyj tych nowych poświadczeń i zaktualizuj plik wp-config.php (zaktualizuj wartości DB_USER i DB_PASSWORD). W tym momencie możesz również sprawdzić, czy informacje o poświadczeniach bazy danych są poprawne, korzystając ze wspomnianego wcześniej pliku testowego. Jeśli jednak to nie rozwiąże problemu, być może nazwa hosta (DB_HOST) jest nieprawidłowa. Niektóre hosty używają różnych wartości, możesz zapoznać się z listą typowych wartości hostów bazy danych lub sprawdzić dokumentację związaną z hostem i skontaktować się z dostawcą usług hostingowych. Niektórzy ludzie mogą również używać 127.0.0.1 zamiast localhost.
Wniosek
Jak widać, istnieje wiele sposobów na rozwiązanie problemu „error establishing a database connection” w WordPressie. Najczęstszym błędem jest to, że poświadczenia bazy danych ustawione w pliku wp-config.php są nieprawidłowe, więc pierwszym krokiem powinno być sprawdzenie, czy są one poprawne. Niezależnie od tego, co powoduje „error establishing a database connection”, mam nadzieję, że powyższe kroki pomogą Ci przywrócić i uruchomić witrynę. Pamiętaj, zawsze twórz kopię zapasową swojej witryny, aby w razie potrzeby ją przywrócić.
Jak szybko naprawić „error establishing a database connection” w WordPressie
„error establishing a database connection” jest prawdopodobnie jednym z najczęstszych i najstraszniejszych błędów, jakie mogą napotkać użytkownicy WordPressa. Jest to zdecydowanie ściśle związane z Białym Ekranem Śmierci (WSOD). Ten błąd oznacza, że Twoja witryna nie komunikuje się już ani nie jest dostępna dla bazy danych WordPress, a cała witryna nie działa.
W przypadku takiego błędu webmasterzy nigdy nie powinni lekceważyć sytuacji i powinni natychmiast spróbować naprawić ten problem, który bezpośrednio wpływa na ruch, SEO itp. Ale nie martw się, dzisiaj omówimy kilka typowych scenariuszy, które prowadzą do tego błędu i odpowiednich rozwiązań .
Co to jest „error establishing a database connection”?
Wszystkie informacje w witrynie WordPress, takie jak publikowanie danych, dane stron, metainformacje, ustawienia wtyczek, dane logowania itp., są przechowywane w bazie danych MySQL. Jedyne dane, które nie są przechowywane, to zawartość multimedialna, taka jak obrazy i pliki motywów/wtyczek/rdzeń, takie jak index.php, wp-login.php itp. Gdy ktoś odwiedza Twoją witrynę, PHP wykonuje kod na stronie i wyszukuje informacje z bazy danych, które są następnie wyświetlane w przeglądarce odwiedzającego.
Jeśli z jakiegoś powodu to nie działa poprawnie, wystąpi error establishing a database connection, jak pokazano poniżej. Cała strona staje się pusta, ponieważ połączenie nie działa poprawnie i nie można pobrać danych do renderowania strony. To nie tylko psuje fronton witryny, ale także uniemożliwia dostęp do pulpitu WordPress.
Jednak odwiedzający mogą nie od razu zobaczyć ten błąd w interfejsie użytkownika. Dzieje się tak, ponieważ pamięć podręczna witryny jest nadal dostępna do czasu wygaśnięcia pamięci podręcznej.
Typowe scenariusze, które prowadzą do „błędu podczas nawiązywania połączenia z bazą danych”
Najczęstszym problemem są nieprawidłowe dane logowania do bazy danych
Witryna WordPress musi korzystać z informacji logowania związanych z bazą danych, aby połączyć się z odpowiednią bazą danych MySQL.
Baza danych jest uszkodzona.
Ponieważ motywy, wtyczki można tak bardzo instalować i odinstalowywać, ciągłe usuwanie i instalacja przez lata może czasami prowadzić do uszkodzenia bazy danych. Może to być spowodowane brakiem lub pojedynczo uszkodzonymi tabelami lub niektóre informacje mogły zostać przypadkowo usunięte.
W instalacji WordPressa mogą znajdować się uszkodzone pliki.
Problemy z serwerem bazy danych
Po stronie hosta internetowego może wystąpić wiele problemów, takich jak przeciążenie bazy danych z powodu skoków ruchu lub brak odpowiedzi z powodu zbyt wielu jednoczesnych połączeń. W rzeczywistości w przypadku hostingu współdzielonego jest to dość powszechne, ponieważ wiele witryn korzysta z zasobów jednego hosta.
Jak naprawić „error establishing a database connection”
Przed rozpoczęciem rozwiązywania problemu zaleca się wykonanie kopii zapasowej bazy danych, ponieważ wiele z poniższych sugestii dotyczy manipulacji informacjami w bazie danych. Bez względu na poziom umiejętności, przed próbą modyfikacji bazy danych witryny WordPress zawsze należy wykonać kopię zapasową.
Możesz użyć wtyczki do tworzenia kopii zapasowych WordPress, takiej jak VaultPress lub Kapsuła czasu WP do tworzenia kopii zapasowych plików i baz danych.
Jeśli jesteś użytkownikiem cPanel, bardzo łatwo jest wykonać kopię zapasową plików witryny i bazy danych. Przejdź do pulpitu nawigacyjnego cPanel, znajdź w menu „Kopia zapasowa”, a następnie ręcznie wykonaj kopię zapasową całej bazy danych i plików witryny.
Oczywiście możesz również wykonać ręczną kopię zapasową plików witryny, uzyskując dostęp do serwera za pomocą narzędzi takich jak SFTP, oraz ręczną kopię zapasową bazy danych MySQL za pośrednictwem phpMyAdmin. Po pomyślnym utworzeniu kopii zapasowej nadszedł czas, aby rozpocząć rozwiązywanie problemu „Błąd nawiązywania połączenia z bazą danych”.
Sprawdź dane logowania do bazy danych
Pierwszą rzeczą do zrobienia jest upewnienie się, że poświadczenia logowania do bazy danych dla pliku konfiguracyjnego WordPress są poprawne. Jest to zdecydowanie najczęstsza przyczyna błędów „Błąd nawiązywania połączenia z bazą danych”, zwłaszcza po migracji witryny do nowego dostawcy hostingu. Szczegóły połączenia z witryną WordPress są przechowywane w pliku wp-config.php, który zwykle znajduje się w katalogu głównym.
Zawiera cztery ważne informacje, które muszą być poprawne, aby połączenie z bazą danych było udane.
Nazwa bazy danych
Nazwa użytkownika bazy danych
Hasło do bazy danych
Nazwa hosta MySQL
Aby uzyskać dostęp do pliku wp-config.php, możesz połączyć się z witryną przez SFTP i przejść do katalogu głównego witryny. Lub, jeśli używasz cPanel, możesz przejść do pulpitu cPanel i kliknąć „Menedżer plików”, przejść do katalogu głównego witryny, a następnie kliknąć prawym przyciskiem myszy, aby edytować plik.
Poniżej znajduje się przykład tego, jak wygląda plik wp-config.php.
Sprawdź poświadczenia bazy danych w panelu cPanel
Pierwszą rzeczą do sprawdzenia jest nazwa bazy danych. W tym celu musisz przejść do panelu sterowania cPanel i zalogować się do phpMyAdmin .
Znajdź nazwę bazy danych odpowiadającą Twojej stronie w lewym menu. Zignoruj bazę danych „information_schema”, ponieważ jest to baza danych używana przez hosta. Następnie porównaj tę nazwę z wartością DB_NAME w pliku wp-config.php. Jeśli pasują, to nie jest problem. Jeśli się nie zgadzają, musisz zaktualizować plik wp-config.php.
Możesz również sprawdzić, czy jest to właściwa baza danych, upewniając się, że baza danych zawiera adres URL Twojej witryny. Wystarczy kliknąć na bazę danych, a następnie kliknąć na tabelę wp_options (ze względów bezpieczeństwa nazwa ta może być nieco inna, np. wpxx_options). U góry tabeli zobaczysz wartości adresu URL i nazwy witryny. Jeśli są one zgodne z Twoją obecną witryną, jest to baza danych Twojej witryny.
Jeśli nazwa bazy danych jest poprawna, ale nadal pojawia się error establishing a database connection, należy również sprawdzić nazwę użytkownika i hasło. Aby to zrobić, musisz utworzyć nowy plik PHP w katalogu głównym swojej witryny WordPress (nadaj mu losową nazwę, np. checkdb.php) i wpisać następujący kod, który należy zastąpić wartościami db_user i db_password za pomocą wartości z pliku wp-config.php.
<?php
$test = mysqli_connect(‘localhost’, ‘db_user’, ‘db_password’);
if (!$test) {
die(‘MySQL Error: ‘ . mysqli_error());
}
echo ‘Database connection is working properly!’;
mysqli_close($testConnection);
?>
Odwiedź https://twojadomena.com/checkdb.php w swojej przeglądarce. Jeśli pojawi się komunikat „MySQL Error: Access denied”, Twoja nazwa użytkownika lub hasło są nieprawidłowe i będziesz musiał przejść do następnego kroku, aby zresetować poświadczenia.
Jeśli jednak pokazuje „Połączenie z bazą danych działa prawidłowo”, to nazwa użytkownika i hasło do bazy danych są poprawne. Pamiętaj, aby usunąć ten plik po zakończeniu testowania.
Jeśli masz pewność, że nazwa użytkownika bazy danych i hasło są nieprawidłowe, musisz je zresetować. W cPanel kliknij „Baza danych MySQL”.
Przewiń w dół i utwórz nowego użytkownika MySQL. Spróbuj wybrać unikalną nazwę użytkownika i hasło (możesz użyć dostarczonego narzędzia do generowania haseł, aby wygenerować silne hasło), aby nie było łatwo odgadnąć. Następnie kliknij „Utwórz użytkownika”. Alternatywnie możesz zmienić hasło dla bieżącego użytkownika bazy danych na tym ekranie.
Następnie przewiń w dół i dodaj nowego użytkownika do bazy danych. Następny ekran poprosi Cię o uprawnienia, które chcesz przypisać, wybierz „Wszystkie uprawnienia”
Następnie użyj tych nowych poświadczeń i zaktualizuj plik wp-config.php (zaktualizuj wartości DB_USER i DB_PASSWORD). W tym momencie możesz również sprawdzić, czy informacje o poświadczeniach bazy danych są poprawne, korzystając ze wspomnianego wcześniej pliku testowego. Jeśli jednak to nie rozwiąże problemu, być może nazwa hosta (DB_HOST) jest nieprawidłowa. Niektóre hosty używają różnych wartości, możesz zapoznać się z listą typowych wartości hostów bazy danych lub sprawdzić dokumentację związaną z hostem i skontaktować się z dostawcą usług hostingowych. Niektórzy ludzie mogą również używać 127.0.0.1 zamiast localhost.
Wniosek
Jak widać, istnieje wiele sposobów na rozwiązanie problemu „error establishing a database connection” w WordPressie. Najczęstszym błędem jest to, że poświadczenia bazy danych ustawione w pliku wp-config.php są nieprawidłowe, więc pierwszym krokiem powinno być sprawdzenie, czy są one poprawne. Niezależnie od tego, co powoduje „error establishing a database connection”, mam nadzieję, że powyższe kroki pomogą Ci przywrócić i uruchomić witrynę. Pamiętaj, zawsze twórz kopię zapasową swojej witryny, aby w razie potrzeby ją przywrócić.
Powiązane posty:
Powiązane