Powiadomienie „Błąd ustanowienia połączenia z bazą danych” w WordPress jest błędem krytycznym, który sprawia, że twoja witryna jest niedostępna dla użytkowników. Dzieje się tak, gdy WordPress nie może połączyć się z bazą danych.
Ponieważ wiele czynników może mieć wpływ na to połączenie, błąd może być nieco trudny do rozwiązania dla początkujących.
Prowadzimy naszego bloga na WordPressie od 16 lat i napotkaliśmy wiele różnych błędów i ostrzeżeń, w tym „Błąd nawiązywania połączenia z bazą danych”. Dzięki naszemu doświadczeniu i wielu próbom i błędom nauczyliśmy się rozwiązywać te problemy bez zakłócania pracy naszej witryny.
W tym artykule pokażemy ci, jak krok po kroku łatwo poprawić błąd „Error establishing a database connection” na twojej witrynie WordPress.
Co powoduje błąd nawiązywania połączenia z bazą danych w WordPress?
Baza danych to oprogramowanie, które ułatwia przechowywanie, organizowanie i pobieranie danych z innego oprogramowania.
Jako system zarządzania treścią, WordPress wykorzystuje bazę danych do przechowywania całej twojej treści i innych danych witryny internetowej. Następnie łączy się z bazą danych za każdym razem, gdy ktoś przejdzie na twoją witrynę internetową.
WordPress potrzebuje następujących informacji do połączenia z bazą danych:
- Twoja nazwa bazy danych
- Nazwa użytkownika i hasło do bazy danych
- Serwer bazy danych
Informacje te są przechowywane w twoim pliku konfiguracyjnym WordPress, który nazywa się wp-config.php.
Jeśli którakolwiek z tych informacji jest nieprawidłowa, WordPress nie będzie mógł połączyć się z twoim serwerem bazy danych i zobaczysz błąd „Błąd nawiązywania połączenia z bazą danych”.
Jest to jeden z najczęstszych błędów WordPress. Oprócz nieprawidłowych danych uwierzytelniających, błąd ten może pojawić się również w przypadku awarii serwera bazy danych lub uszkodzenia plików bazy danych.
Powiedziawszy to, przyjrzyjmy się, jak poprawić problem „Błąd nawiązywania połączenia z bazą danych” w WordPress z rozwiązywaniem problemów krok po kroku.
1. Sprawdź dane uwierzytelniające twojej bazy danych WordPress.
Nieprawidłowe dane uwierzytelniające są najczęstszą przyczyną błędu połączenia z bazą danych. Jeśli niedawno przeniosłeś swoją witrynę WordPress na nowy hosting, to prawdopodobnie jest to problem.
Twoje dane uwierzytelniające bazy danych WordPress są przechowywane w pliku wp-config.php. Jest to plik konfiguracyjny WordPress, który zawiera ważne ustawienia, w tym informacje o bazie danych.
Jeśli nie edytowałeś wcześniej pliku wp-config.php, zapoznaj się z naszym przewodnikiem dla początkujących, jak edytować plik wp-config.php, aby uzyskać więcej instrukcji.
Będziesz szukać następujących wierszy w pliku wp-config.php:
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name_here' );
/** MySQL database username */
define( 'DB_USER', 'username_here' );
/** MySQL database password */
define( 'DB_PASSWORD', 'password_here' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );
W tym miejscu należy upewnić się, że informacje dotyczące nazwy bazy danych, nazwy użytkownika, hasła i hosta bazy danych są poprawne.
Możesz potwierdzić te informacje z kokpitu twojego konta hostingowego WordPress. W tym poradniku będziemy używać Bluehost, ale proces będzie podobny również dla innych paneli hostingowych.
Po zalogowaniu się należy kliknąć kartę „Witryna internetowa” w lewej kolumnie, a następnie przejść do zakładki „Zaawansowane”. Następnie przewiń w dół do sekcji „Baza danych” i kliknij przycisk „Zarządzaj” obok niej.
Spowoduje to otwarcie strony Bazy danych MySQL w cPanelu w nowym oknie.
Tutaj, w sekcji „Obecna, aktualna baza danych” możesz znaleźć swoją nazwę bazy danych i nazwę użytkownika. Pamiętaj, aby skopiować i wkleić te dane do notatnika, aby móc dodać je do pliku wp-config.
Następnie przewiń w dół do sekcji „Obecni użytkownicy”, gdzie kliknij odnośnik „Zmień hasło” obok nazwy twojej bazy danych.
Spowoduje to przejście do nowego ekranu, na którym możesz zmienić hasło do bazy danych zgodnie z twoimi upodobaniami.
Po potwierdzeniu wszystkich danych twojej bazy danych, możesz w razie potrzeby zmienić te informacje w pliku wp-config.php.
Następnie spróbuj ponownie przejść na twoją witrynę internetową, aby sprawdzić, czy błąd połączenia z bazą danych zniknął.
Jeśli nadal widzisz błąd, oznacza to, że coś jest nie tak.
2. Sprawdź informacje o twoim hoście bazy danych
Jeśli masz pewność, że twoja nazwa bazy danych, nazwa użytkownika i hasło są dokładne, upewnij się, że używasz poprawnych informacji o hoście bazy danych.
Większość firm hostingowych WordPress używa localhost jako twojego hosta bazy danych. Jednak niektóre zarządzane firmy hostingowe WordPress używają oddzielnych serwerów do hostowania baz danych. W takim przypadku twoim hostem bazy danych nie będzie localhost.
Oznacza to, że będziesz musiał skontaktować się z twoją firmą hostingową WordPress, aby potwierdzić te szczegóły.
3. Naprawa bazy danych WordPress
Teraz możesz otrzymać inny błąd w kokpicie wp-admin, taki jak „Jedna lub więcej tabel bazy danych jest niedostępnych” lub „Baza danych może wymagać naprawy”. W takim przypadku musisz naprawić twoją bazę danych.
Możesz to zrobić, dodając następującą linię w twoim pliku wp-config.php. Upewnij się, że dodałeś ją tuż przed linią „To wszystko, przestań edytować! Happy blogging”:
define('WP_ALLOW_REPAIR', true);
Gdy już to zrobisz, możesz zobaczyć ustawienia, przechodząc na tę stronę: http://www.yoursite.com/wp-admin/maint/repair.php. Upewnij się tylko, że zastąpiłeś yourite.com twoją własną nazwą domeny.
W tym miejscu należy kliknąć przycisk „Napraw bazę danych”, aby rozpocząć proces.
Uwaga: Użytkownik nie musi się logować, aby uzyskać dostęp do strony naprawy bazy danych. Po zakończeniu naprawy i optymalizacji twojej bazy danych, upewnij się, że usuwasz tę linię kodu z wp-config.php.
Jeśli jednak nie chcesz dodawać żadnego kodu do twojej witryny, możesz również naprawić bazę danych za pomocą cPanelu konta hostingowego.
Przejdź na twoje konto hostingowe, gdzie musisz otworzyć stronę „Witryny internetowe” z lewej kolumny. Następnie przejdź do karty „Zaawansowane” i kliknij przycisk „Zarządzaj” w sekcji „Baza danych”.
Spowoduje to otwarcie cPanel w nowej karcie. Tutaj przewiń w dół do sekcji „Modyfikuj bazy danych” i wybierz nazwę twojej bazy danych z menu rozwijanego „Napraw bazę danych”.
Gdy to zrobisz, po prostu kliknij przycisk „Napraw bazę danych”, aby rozpocząć proces.
Panel hostingowy automatycznie naprawi twoją bazę danych.
Po zakończeniu procesu zostanie wyświetlony komunikat o powodzeniu.
Możesz teraz przejść na twoją witrynę WordPress, aby sprawdzić, czy błąd został rozwiązany, czy nie.
4. Sprawdź, czy twój serwer bazy danych nie jest wyłączony
Jeśli wszystko wydaje się być w porządku, a WordPress nadal nie może połączyć się z bazą danych, to twój serwer bazy danych(serwer MySQL) może nie działać.
Może się to zdarzyć z powodu dużego ruchu na serwerze. Twój serwer hostingowy po prostu nie radzi sobie z wczytywaniem (zwłaszcza jeśli korzystasz z hostingu współdzielonego).
Z tego powodu twoja witryna będzie działać wolno, a nawet może wyświetlać błąd dla niektórych użytkowników. W takim przypadku powinieneś skontaktować się z dostawcą hostingu przez telefon lub czat na żywo i zapytać, czy twój serwer MySQL jest responsywny.
Ponadto, jeśli masz inne witryny internetowe działające na tym samym serwerze, możesz sprawdzić te witryny, aby potwierdzić, że twój serwer SQL nie działa.
Jeśli nie masz żadnej innej witryny na tym samym koncie hostingowym, po prostu przejdź do kokpitu hostingu i przejdź do karty „Zaawansowane”.
Następnie kliknij przycisk „Zarządzaj” obok sekcji phpMyAdmin.
Spowoduje to otwarcie phpMyAdmin w nowym oknie, w którym należy kliknąć opcję „Baza danych” u góry.
Następnie kliknij nazwę twojej bazy danych, aby uzyskać dostęp do jej ustawień. Jeśli możesz to zrobić, nadszedł czas, aby sprawdzić, czy twój użytkownik bazy danych ma wystarczające uprawnienia.
Aby to zrobić, należy utworzyć nowy plik o nazwie testconnection.php i wkleić do niego następujący kod:
<?php
$link = mysqli_connect('localhost', 'username', 'password');
if (!$link) {
die('Could not connect: ' . mysqli_error());
}
echo 'Connected successfully';
mysqli_close($link);
?>
Po wklejeniu kodu upewnij się, że zastąpiłeś nazwę użytkownika i hasło twoimi własnymi. Teraz możesz przesłać ten plik na twoją witrynę internetową i uzyskać do niego dostęp za pośrednictwem przeglądarki internetowej.
Jeśli skrypt połączył się pomyślnie, oznacza to, że twój użytkownik ma wystarczające uprawnienia, a przyczyną błędu jest coś innego.
Teraz musisz wrócić do twojego pliku wp-config i przeskanować go, aby upewnić się, że wszystkie szczegóły są dokładne i bez literówek.
Dodatkowe rozwiązania, które sprawdziły się w przypadku użytkowników
Jeśli powyższe wskazówki dotyczące rozwiązywania problemów nie poprawią błędu połączenia z bazą danych na twojej witrynie internetowej, możesz wypróbować te dodatkowe kroki.
Jak donoszą nasi użytkownicy, kroki te pomogły niektórym z nich rozwiązać błąd połączenia z bazą danych na ich witrynach internetowych.
1. Zaktualizuj adres URL witryny WordPress
Możesz spróbować zaktualizować adres URL witryny WordPress za pomocą phpMyAdmin w cPanel.
Wystarczy uzyskać dostęp do phpMyAdmin z kokpitu twojego konta hostingowego i wybrać bazę danych WordPress z listy.
Następnie przejdź do menu SQL na górze i wpisz następujące zapytanie MySQL:
UPDATE wp_options SET option_value='YOUR_SITE_URL' WHERE option_name='siteurl'
Powinno to wyglądać następująco:
Nie zapomnij podać adresu URL twojej witryny i zmienić wp_options
na twoją własną nazwę tabeli, ponieważ mogłeś zmienić prefiks tabeli WordPress.
2. Ponowne uruchomienie serwera WWW
Użytkownicy serwerów dedykowanych, ustawień regionalnych i wirtualnych serwerów prywatnych (VPS ) mogą spróbować zrestartować swoje serwery.
Spowoduje to ponowne uruchomienie twojego serwera WWW i bazy danych, co może poprawić tymczasowe usterki powodujące błąd.
3. Poproś o pomoc
Jeśli wszystko inne zawiedzie, może być konieczne skontaktowanie się z twoją firmą hostingową. Wszystkie dobre firmy hostingowe WordPress pomogą ci rozwiązać problem, wskażą właściwy kierunek, a nawet naprawią go za ciebie.
Możesz również zatrudnić programistów WordPress za pomocą platformy takiej jak WPBeginner Pro Services, aby pomogli ci poprawić ten problem za rozsądną ocenę. Mamy dedykowany zespół programistów-ekspertów, którym możesz zaufać, aby rozwiązać każdy twój problem z WordPressem.
Możesz również skorzystać z usługi konserwacji witryny, naprawy witryny po włamaniu, optymalizacji prędkości, przebudowy witryny internetowej i optymalizacji SEO.
Mamy nadzieję, że ten artykuł pomógł ci poprawić problem „Błąd nawiązywania połączenia z bazą danych” w WordPress. Możesz również zapoznać się z naszym przewodnikiem po rozwiązywaniu problemów z WordPressem, aby uzyskać wskazówki dotyczące samodzielnego rozwiązywania problemów z WordPressem lub z naszym samouczkiem na temat dodawania własnej strony błędu bazy danych w WordPressie.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
ravendra
hello I need your help please help me my website is showing Error establishing a database connection
how can I solve I don’t know please help me
WPBeginner Support
You would want to follow the troubleshooting steps in this article for that error.
Administrator
Daniel
I had this very same issue while using Xampp. After using the „testconection.php” file and through some further trouble shooting, I discovered that my user account was set to connect to „Any host” and by changing it to „Localhost” the problem was solved. I suspect this error came about when I updated Xampp and recreated the same named user.
WPBeginner Support
Thanks for sharing what worked for you
Administrator
Della
For my case the correct response was by Daniel.
…I discovered that my user account was set to connect to “Any host” and by changing it to “Localhost” the problem was solved.
Thanks so much!
jason
i am getting this error on my localhost
WPBeginner Support
The methods in this article should be able to help with localhost sites as well as hosted sites.
Administrator
Dana Jewel
Thanks for the article. Hopefully it will help.
WPBeginner Support
You’re welcome
Administrator
Cosme Fulanito
After succeed the „Check your Web Host (MySQL Server)” test I change the host from 127.0.01 to localhost on the config.php file.
That worked for me.
WPBeginner Support
Thanks for sharing your solution
Administrator
Vinay Mourya
hi, it is happening to my WordPress site only sometimes and when I reload the page site starts working again please suggest me a solution, for now, I am using Cloudflare as cdn and wp rocket for caching plugin, the theme is newspaper premium.
WPBeginner Support
If it is intermittent like that, you would want to reach out to your hosting provider and let them know and they should be able to assist.
Administrator
Erick
This solution helped me a lot. Thanks so much.
WPBeginner Support
You’re welcome
Administrator
Gee
Same exact error i got “Error establishing a database connection” but not all of the sollution you mentíon helped me.
For me the MySql services was disabled: I went to services and start the MySQL to automatic. The other thing was the ” log on ” to user was administrator and changed it to the account i created.
Now my wordpress site is working again.
WPBeginner Support
Thanks for sharing your solution to this issue for others
Administrator
Umar
I have a weird situation is, that the error establishing a database connection is only happening to one post in my blog while other posts are not showing this issue.
rabda
I am receiving this error one time on 3 and not always! I do not understand why and how to solve the problem
WPBeginner Support
You may want to try reaching out to your hosting provider to see if their error logs have information that can help find the root of the issue.
Administrator
Ryan
thanks so much, worked great, really appreciate how fast and to the point the video was, instead of a 7-10min extended one, boom, stright to the point!
Omar
I fixed it by adding „:3306” to the mysql adress „localhost” in wp-config
Bob Richardson
Thanks so much for this post. Saved me lots of time troubleshooting. I had changed my database password after a web hack and forgot to change wp-config file. Your instructions are spot on.
Jelena
Dude, you have just saved me TONS of nerves! Thank you SO MUCH. Best wishes and God bless!
Parker Beck
I fixed it by deleting the MySql database and making a new by importing the backup. I did not need a fresh instance of WordPress.
Julia
Same here! After hours of debugging, reinstalling MySQL and WP, deleting the wordpress database was the solution. Thanks Parker!
Filipa
I’m not a developer or have any background in file managing and I could follow your instructions easily. Either I’m a genius or you’re awesome! Or maybe both!
Yaser
Thanks for the article.
I had this error while setting up a local instance of WordPress running on Wamp server on windows.
*For me, it got solved when I changed the blank password of the localhost from phpMyAdmin panel, * the password was blank so I suspect that’s the reason, or maybe changing the password updated some necessary files automatically.
Just wanted to share this ^-^
Frenda Chu
Dear sirs,
I’m a beginner making a big mistake of using all-in-one migration to export my website to a whole package(a „.wpress” file, containing old database information inside) unless using separated database files and then restored it on my new host.
After that my website display”Error establishing a database connection”.
I have tried checking the config.php, but the database name is correct to my new host.
I now understand that’ s a terrible way to migrate my web, however, I don’t have any backup. Is there any method can help save this problem?
WPBeginner Support
Hi Frenda,
Check your host, database name, and database password. These are the most likely culprits.
Administrator
askhar
Thank you very much for the guide,
I follow step by step, and now my web is better.
The tutorial is very useful
Jon
Thanks very much for the article. I’m new to WordPress, and this error was pretty disconcerting. I got the error after a simple page edit today – not even fiddling with back end files. Your advice on editing the wp config file fixed it straight away. Thanks again!
Frans Bouman
Thanks immensely for the article. Although my problem wasn’t identical to the problems given, changing the hosts file managed to get me pointing at the new (unpropogated) version of the web site and replacing localhost with the ip address in wp-config took care of all the problems with pointing to the active version of the site. Now the new site is fully tested and I can shift servers safely. Well done!
nirjon
I am getting this message when trying to add photos to my product page
Connection lost. Saving has been disabled until you’re reconnected. We’re backing up this post in your browser, just in case.
Can please some one help me
Simon Jackson
Thank you so much for sharing this step by step tutorial. Actually, I have installed WordPress first time, it shows me “Error Establishing A Database Connection” and I don’t know what to do. Then I have searched on Google and I found your this article and really it is
very helpful for me and also many people who have no idea about this things.
WITMAN
I am getting this quite often on my reseller account and it affects my websites. I honestly don’t know what to do at this point. While my host company has been very supportive, it happens just about every time: jiffynaija.com
Niaz Ahmed
Hello People,
Firstly i appreciate the effort taken by wpbeginner for creating all these articles and helping out people from their bad nightmares.
Here come my question, i had the same trouble i tried all the steps which was given below and it worked, but after every few hours later this screen appears again and again, now what is did is i restarted the server it worked but still i’m getting the same page every time. please somebody gimme a permanent solution for this it will be much appreciated. TIA
David
I had moved from one host to another. Was getting the error. I had used a different database prefix on the new host. Changing this in the wp-config.php solved the problem.
/**
* WordPress Database Table prefix.
*
* You can have multiple installations in one database if you give each a unique
* prefix. Only numbers, letters, and underscores please!
*/
$table_prefix = 'newprefix_’;
Mila
I battled with MAMP on MacOS Sierra ver. 10.12.6 for a couple of days. After trying what seemed like Everything, I finally gave up. With MAMP, MySQL would not start although Apache did & PHPMyAdmin was throwing the same error about MySQL. I uninstalled MAMP and installed DesktopServer and I’m so glad I did. It worked like a charm. It was incredibly easy!
Anmol
i have issue when open any post it shows this error what should i do how to fix this error—>
Notice: getTemplate was called incorrectly. templates/single//layout.php does not exist. Please see Debugging in WordPress for more information.
Louis
I’ve created a site on localhost. I am using MAMP. I tried to go live. When I changed the user password in mp-config file the error of not able to connect to serve appeared. I tried to change it back but if have been unable to get back to my login for wp. That’s where I’m not understanding. How do I know where the password and username should be matching up?
Ola
Pls am trying to install WordPress on localhost and after entering my database username instead of taking me to the installation page, it keep bring error that „Error establishing a database connection”. Pls what can cause this error? and have done all the necessary things
Andrew Johnson
As soon as I saw the error I was like oh god there goes my day trying to sort this out! I hadn’t touched wordpress or my hosting account for ages, had forgotten everything and was like okay back to square one here.
BUT
This article’s fix worked like a charm (changing the password to the database and making sure it was the same in wp-config). Saved me a huge headache.
THANK YOU!
shach
hi, thanks for the effort to bring this post up.
after some hours that i spent twiking and ftp-ing and phpmyadmin-ing, i finally got all my settings super-perfect, but still this anoyying message.
so- i just openned my chat with bluehost, and once again they proved to be really fast in answering. with a click it was all up and alive.
so- next time it will take me less time to open-up the chat box with them
Shawn Rebelo
Now to find out why it does this on localhost when there is NO config file yet! Trying to install for first time in another folder, but get this error? Saying config in wp-config might incorrect? Well ya… there is no file!
Piter
Thanks for the article and the video, I fixed my problem as well.
But why does it happen? very strange.
Gwen
I don’t understand WHERE to find the file to access it and change it seeing as I can’t get into my Wordpress account
Shahid
Thanks a lot, I have fixed my problem.
Anita Elder
Your fix really saved me a lot of time and energy….thanks!!
Dan Logue
I’ve encountered the no database connection error. I can run a connect.php script using root and password which says connected successfully. To what is my question. Just to my localhost server? root and password I used were those for my phpMyAdmin login.
A similar connect_db script using the actual wordpress database user and password fails. user and database password match the wp-config values.
I’ve used the user root and its companion password in the wp db table but still get connection error.
Any help would be appreciated.
Colleen
Has anyone seen this error? I’ve searched and searched, but can’t get an answer:
INSERT INTOwp_contact_form_7(cf7_unit_id,title,form,mail,mail_2,messages,additional_settings) VALUES (1,’Contact form 1′,’Your Name (required)\r\n [text* your-name] </p
#1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ”Your Name (required)\r\n [text* your-name] </p’ at line 1
Thanks!
Mr Alexander
its a nice read but having to call your provider to fix the permission issues fo r you… come on
Tessa
i found another solution.
Host: localhost to Host: 127.0.0.1:8889
but I also changed the wp-config-sample.php
/** MySQL hostname */
define(’DB_HOST’, '127.0.0.1:8889′);
and
define(’WP_ALLOW_REPAIR’, true);
Save and reload tab.
Scott Grams
I have this issue once in a while on a local server after server reboot. The solution that has always worked is to stop httpd, then restart mysqld, then start httpd again. Had always fixed the problem. Probably not a solution if your site is hosted of site.
Marcin
Thank you very much
PAUL
Suddenly, my localhost stopped saving anything. Tried installing a new WordPress but whenever I’m to login to the back-end, the right or any password or login credentials won’t open it.
What is the problem and what is the solution?
PAUL
Also, Database repair didnt work for the project I had on. I’ve uninstalled xampp numerous times, still didnt work
Nathan Pinno
After doing the database repair, I got this:
wp_1_posts: Table 'nb_blog.wp_1_posts’ doesn’t exist
wp_1_comments: Table 'nb_blog.wp_1_comments’ doesn’t exist
wp_1_links: Table 'nb_blog.wp_1_links’ doesn’t exist
wp_1_options: Table 'nb_blog.wp_1_options’ doesn’t exist
wp_1_postmeta: Table 'nb_blog.wp_1_postmeta’ doesn’t exist
wp_1_terms: Table 'nb_blog.wp_1_terms’ doesn’t exist
wp_1_term_taxonomy: Table 'nb_blog.wp_1_term_taxonomy’ doesn’t exist
wp_1_term_relationships: Table 'nb_blog.wp_1_term_relationships’ doesn’t exist
wp_1_termmeta: Table 'nb_blog.wp_1_termmeta’ doesn’t exist
wp_1_commentmeta: Table 'nb_blog.wp_1_commentmeta’ doesn’t exist
What can I do to fix this?
Thanks,
Nathan Pinno
Samuel Rondot
You guys just saved my life ! One more time.
Thank you !
Cesare Rossi
My Wordpress site (2 server, One web and One db) works perfectly at the first run. if I reboot the web server it shows the database errore.
Angela
You are a life saver! Thank you so much!!!!!
sanjiv
will thi sbe fixed as you are saying in this article i will have to go for it than only i can say any thing about this site .
pau
mine also broke down without me making any edit on the website whatsover for like 2 months, i got scared… so this is how i ended up here looking what to do, but reading all this i just refreshed the page and its working, somehow automatically… i dont know how long i had this error was there for but its between minimum 10min and 2 hours max, the host im using is hostgator and just before i was to contact them i refreshed the page and its working, so my advice if anything you can atleast wait 2 hours and it may turn back on like mine, PEACE!
Irena Omazic
Thank you so much! This is extremely useful for me. Regards from Bosnia!