L’avviso “Errore nello stabilire una connessione al database” in WordPress è un errore irreversibile che rende il sito inaccessibile agli utenti. Si verifica quando WordPress non è in grado di connettersi al database.
Poiché diversi fattori possono influenzare questa connessione, l’errore può essere un po’ difficile da risolvere per i principianti.
Negli ultimi 16 anni abbiamo gestito il nostro blog su WordPress e abbiamo riscontrato una serie di errori e attenzioni, tra cui l'”Errore nello stabilire una connessione al database”. Grazie alla nostra esperienza e a molti periodi di prove ed errori, abbiamo imparato a risolvere questi problemi senza interrompere il nostro sito.
In questo articolo vi mostreremo come risolvere facilmente l'”Errore nello stabilire una connessione al database” sul vostro sito WordPress, passo dopo passo.
Cosa causa l’errore di stabilire una connessione al database in WordPress?
Un database è un software che facilita l’archiviazione, l’organizzazione e il recupero di dati da altri software.
Come sistema di gestione dei contenuti, WordPress utilizza un database per memorizzare tutti i contenuti e gli altri dati del sito web. Si connette quindi al database ogni volta che qualcuno visita il vostro sito web.
WordPress ha bisogno delle seguenti informazioni per connettersi al database:
- Il nome del database
- Nome utente e password del database
- Server di database
Queste informazioni sono memorizzate nel file di configurazione di WordPress, chiamato wp-config.php.
Se una di queste informazioni non è corretta, WordPress non riuscirà a connettersi al server del database e verrà visualizzato l’errore “Errore nello stabilire una connessione al database”.
È uno degli errori più comuni di WordPress. Oltre alle credenziali errate, questo errore può comparire anche se il server del database è inattivo o i file del database sono corrotti.
Detto questo, vediamo come risolvere il problema “Errore nello stabilire la connessione al database” in WordPress con una risoluzione dei problemi passo dopo passo.
1. Controllare le credenziali del database di WordPress
Lecredenziali errate sono la causa più comune dell’errore di connessione al database. Se avete recentemente spostato il vostro sito WordPress su un nuovo host, è probabile che il problema sia questo.
Le credenziali del database di WordPress sono memorizzate nel file wp-config.php. È il file di configurazione di WordPress che contiene importanti impostazioni, tra cui le informazioni sul database.
Se non avete mai modificato un file wp-config.php, date un’occhiata alla nostra guida per principianti su come modificare il file wp-config.php per maggiori istruzioni.
Si cercheranno le seguenti righe nel file 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' );
In questo caso, è necessario assicurarsi che le informazioni relative al nome del database, al nome utente, alla password e all’host del database siano corrette.
Potete confermare queste informazioni dalla dashboard del vostro account di hosting WordPress. Per questo tutorial utilizzeremo Bluehost, ma la procedura sarà simile anche per altri pannelli di hosting.
Una volta effettuato l’accesso, fare clic sulla scheda “Sito web” nella colonna di sinistra e poi passare alla scheda “Avanzate”. Quindi, scorrere fino alla sezione “Database” e fare clic sul pulsante “Gestisci” accanto ad essa.
In questo modo si aprirà la pagina dei database MySQL in cPanel in una nuova finestra.
Qui, nella sezione “Database corrente”, si trovano il nome del database e il nome utente. Ricordate di copiare e incollare questi dati in un blocco note per poterli aggiungere al file wp-config.
Quindi, scorrere fino alla sezione “Utenti attuali”, dove è possibile fare clic sul link “Cambia password” accanto al nome del database.
Si accede così a una nuova schermata, in cui è possibile modificare la password del database secondo le proprie esigenze.
Una volta confermati tutti i dettagli del database, è possibile modificare le informazioni nel file wp-config.php, se necessario.
Quindi, provare a visitare nuovamente il sito web per verificare se l’errore di connessione al database è scomparso.
Se l’errore è ancora presente, significa che c’è qualcos’altro che non va.
2. Controllare le informazioni sull’host del database
Se si è certi che il nome del database, il nome utente e la password siano corretti, occorre assicurarsi di utilizzare le informazioni corrette sull’host del database.
La maggior parte delle società di hosting WordPress utilizza localhost come host del database. Tuttavia, alcune società di hosting WordPress gestite utilizzano server separati per ospitare i database. In questo caso, le informazioni sull’host del database non saranno localhost.
Ciò significa che dovrete contattare la vostra società di hosting WordPress per confermare questi dettagli.
3. Riparazione del database di WordPress
Ora, è possibile che nella Bacheca di wp-admin venga visualizzato un errore diverso, come “Una o più tabelle del database non sono disponibili” o “Potrebbe essere necessario riparare il database”. In questo caso, è necessario riparare il database.
È possibile farlo aggiungendo la seguente riga nel file wp-config.php. Assicuratevi di aggiungerla subito prima della riga “Questo è tutto, smettete di modificare! Buon blog”:
define('WP_ALLOW_REPAIR', true);
Una volta fatto ciò, è possibile vedere le impostazioni visitando questa pagina: http://www.yoursite.com/wp-admin/maint/repair.php. Assicuratevi di sostituire yoursite.com con il vostro nome di dominio.
A questo punto, è necessario fare clic sul pulsante “Ripara database” per avviare il processo.
Nota: non è necessario che l’utente sia connesso per accedere alla pagina di riparazione del database. Una volta terminata la riparazione e l’ottimizzazione del database, assicurarsi di rimuovere questa riga di codice dal file wp-config.php.
Tuttavia, se non volete aggiungere alcun codice al vostro sito, potete anche riparare il database utilizzando il cPanel del vostro account di hosting.
Visitate il vostro account di hosting e aprite la pagina “Siti web” dalla colonna di sinistra. Quindi, passate alla scheda “Avanzate” e fate clic sul pulsante “Gestisci” nella sezione Database.
Si aprirà cPanel in una nuova scheda. Qui, scorrere fino alla sezione “Modifica database” e scegliere il nome del database dal menu a discesa “Ripara database”.
Una volta fatto ciò, è sufficiente fare clic sul pulsante “Ripara database” per avviare il processo.
Il pannello di hosting riparerà automaticamente il database.
Una volta completato il processo, verrà visualizzato un messaggio di successo.
Ora potete visitare il vostro sito WordPress per vedere se l’errore è stato corretto o meno.
4. Controllare se il server di database è inattivo
Se tutto sembra essere corretto e WordPress non riesce ancora a connettersi al database, è possibile che il server del database(server MySQL) sia inattivo.
Questo potrebbe accadere a causa del traffico intenso su un server. Il vostro server host non è in grado di gestire il carico (soprattutto se avete un hosting condiviso).
A causa di ciò, il vostro sito diventerà lento e potrebbe anche generare un errore per alcuni utenti. In questo caso, dovreste telefonare o chattare con il vostro fornitore di hosting e chiedere se il vostro server MySQL è responsive.
Inoltre, se sullo stesso server sono in esecuzione altri siti web, è possibile selezionare questi siti per verificare che il server SQL sia giù.
Se non avete altri siti sullo stesso account di hosting, andate semplicemente nel vostro cruscotto di hosting e passate alla scheda “Avanzate”.
Successivamente, fare clic sul pulsante “Gestisci” accanto alla sezione phpMyAdmin.
Si aprirà phpMyAdmin in una nuova finestra, dove si dovrà fare clic sull’opzione “Database” in alto.
Quindi, fare clic sul nome del database per accedere alle sue impostazioni. Se ci riuscite, è il momento di verificare se l’utente del database ha i permessi sufficienti.
Per farlo, occorre creare un nuovo file chiamato testconnection.php e incollarvi il seguente codice:
<?php
$link = mysqli_connect('localhost', 'username', 'password');
if (!$link) {
die('Could not connect: ' . mysqli_error());
}
echo 'Connected successfully';
mysqli_close($link);
?>
Dopo aver incollato il codice, assicuratevi di sostituire il nome utente e la password con i vostri. Ora è possibile caricare questo file sul proprio sito web e accedervi tramite un browser.
Se lo script si è collegato correttamente, significa che l’utente dispone di permessi sufficienti e che l’errore è causato da qualcos’altro.
Ora è necessario tornare al file wp-config e analizzarlo per assicurarsi che tutti i dettagli siano accurati e senza errori di battitura.
Altre soluzioni che hanno funzionato per gli utenti
Se i suggerimenti per la risoluzione dei problemi di cui sopra non riescono a risolvere l’errore di connessione al database sul vostro sito web, potete provare questi ulteriori passaggi.
Come riportato dai nostri utenti, questi passaggi hanno aiutato alcuni di loro a risolvere l’errore di connessione al database sui loro siti web.
1. Aggiornare l’URL del sito WordPress
Potete provare ad aggiornare l’URL del sito WordPress utilizzando phpMyAdmin in cPanel.
È sufficiente accedere a phpMyAdmin dalla dashboard dell’account di hosting e selezionare il database di WordPress dall’elenco.
Quindi, passare al menu SQL in alto e inserire la seguente query MySQL:
UPDATE wp_options SET option_value='YOUR_SITE_URL' WHERE option_name='siteurl'
L’aspetto dovrebbe essere il seguente:
Non dimenticate di fornire l’URL del vostro sito e di cambiare wp_options
con il nome della vostra tabella, poiché potreste aver cambiato il prefisso della tabella di WordPress.
2. Riavvio del server Web
Gli utenti di server dedicati, server locali e server privati virtuali (VPS) possono provare a riavviare i loro server.
In questo modo si riavvia il server web e il database, che potrebbe risolvere alcuni problemi temporanei che causano l’errore.
3. Chiedere aiuto
Se tutto il resto non funziona, potrebbe essere necessario contattare la società di web hosting. Tutte le buone società di hosting WordPress vi aiuteranno a risolvere il problema, vi indicheranno la direzione giusta o addirittura lo risolveranno per voi.
Potete anche assumere sviluppatori WordPress utilizzando una piattaforma come WPBeginner Pro Services per aiutarvi a correggere questo problema a prezzi ragionevoli. Abbiamo un team dedicato di sviluppatori esperti di cui potete fidarvi per correggere qualsiasi problema di WordPress.
È possibile utilizzare il servizio anche per la manutenzione del sito, la riparazione di siti violati, l’ottimizzazione della velocità, la ricostruzione del sito web e l’ottimizzazione SEO.
Speriamo che questo articolo vi abbia aiutato a correggere il problema “Errore nello stabilire una connessione al database” in WordPress. Potreste anche consultare la nostra guida alla risoluzione dei problemi di WordPress per avere suggerimenti su come correggere i problemi di WordPress da soli o il nostro tutorial su come aggiungere una pagina personalizzata di errore del database in WordPress.
Se questo articolo vi è piaciuto, iscrivetevi al nostro canale YouTube per le esercitazioni video su WordPress. Potete trovarci anche su Twitter e Facebook.
Hajjalah
I used to get this error more often when I was logged into my admin dashboard for a longer period but this article helped me solve the issue. I just updated the WordPress Site URL. Thanks for the useful guide.
WPBeginner Support
You’re welcome, glad our guide was helpful!
Admin
Dennis Muthomi
I actually encountered this database connection error just recently when working on a staged WordPress site before going live.
I had just moved a WordPress site from local to a vps. The video tutorial at timestamp 2:53; helped me solve the error
WPBeginner Support
Glad our guide was able to help you
Admin
Jiří Vaněk
May I ask what the problem is, if I migrate the database to a new one, edit wp-config.php for the new connection, but wordpress does not connect? In the end, I had to delete the old wp-config and create new ones from the installation package. The only thing I found out was that the key stored in wp-config is probably a problem. Am I encrypting somehow connected to the DB and does it have to be removed from the wp-config file during the migration?
WPBeginner Support
You would want to ensure you have a user on that new database with the correct information that you have in your wp-config for the most common cause for that issue.
Admin
Raquel Lynn
Thank you!!! Your YouTube video worked perfectly, I repaired my site : )
WPBeginner Support
Great to hear!
Admin
Anoop
When i am importing demo Error establishing a database connection message is showing
WPBeginner Support
The steps in this guide should still be able to assist you and we would recommend reaching out to the support for the demo you are importing and they can look into what could be the root of the problem you are running into.
Admin
Eddy
Great video, great tutorial, excellent presentation. thanks a lot.
WPBeginner Support
You’re welcome, glad you liked our content!
Admin
Henrik R.
I need to change the password for the MySQL database for security reasons.
Isn’t there a way to login to the WP dashboard and tell WP about the new password, instead of having to change the wp-config.php file?
WPBeginner Support
There is not a simple alternative we would recommend at the moment.
Admin
Nwabufor John
I changed my WordPress database username and password would it affect my websites SEO?
WPBeginner Support
No, that should not affect your site’s SEO
Admin
Nwabufor John
Thank you, I was scared when it happened
varun kamath
Thank you so much
WPBeginner Support
Glad our guide was helpful
Admin
LN
First I would like to say thanks for this guide!
I am having an issue “Error establishing a database connection“ I have checked the wp-config.php and all the database information is correct. I wanted to try step 4 in this guide but I don’t really understand how. I logged in to phpMyAdmin, but not sure what the next step is. Do you have a video for that? I am not a developer just a new WP beginner.
WPBeginner Support
You would want to go to your hosting provider’s dashboard or reach out to your hosting provider and they should be able to assist.
Admin
IK
Thanks for this wonderful article. it has really helped me
WPBeginner Support
Glad our guide was helpful
Admin
Daniel
I almost have given up after having one issue after the other, till i read this. I had this feeling that “this is it” this is the solution I have been looking for. tried it and it worked perfectly, thanks a lot.
WPBeginner Support
Glad our guide was helpful
Admin
Paulo
In my case, as I use digital ocean, I had to restart the DROPLET
WPBeginner Support
Thanks for sharing what worked for you
Admin
Hrutik vijay kumthekar
I’m getting this error when entered the URL of my site:
There has been a critical error on your website.
WPBeginner Support
For that issue, you would want to take a look at our article below:
https://www.wpbeginner.com/wp-tutorials/how-to-fix-the-wordpress-white-screen-of-death/
Admin
Arunya
Thank you very much This Article really helpful
WPBeginner Support
Glad you found our guide helpful
Admin
Sal
running out of space has done this to me a few times!
WPBeginner Support
Thanks for sharing that should someone else run into this issue
Admin
jennifer mulder
I am getting this error
Warning: mysqli_real_connect(): (HY000/2002): Connection refused in /home/f5853789/public_html/wp-includes/wp-db.php on line 1635
Connection refused
what do I do
WPBeginner Support
That is a different error, you would want to reach out to your hosting provider for assistance with that specific error.
Admin
Tejas Misra
I am a beginner to Wordpress, and I am using MAMP to install Wordpress but I’m still getting this error. My credentials are correct, and none of the steps shown above appeared to work. The database is repaired too. I don’t know what to do.
WPBeginner Support
Following our guide on setting up your site on MAMP below, you may want to ensure you added the correct database prefix.
https://www.wpbeginner.com/wp-tutorials/how-to-install-wordpress-locally-on-mac-using-mamp/
Admin
sain
Hi, I have just moved my WordPress site to a new hosting provider via ftp when this error popped up. Is there anything I’m to update after a migration? Thanks
WPBeginner Support
For moving to a new host, you would want to take a look at our article below:
https://www.wpbeginner.com/wp-tutorials/how-to-move-wordpress-to-a-new-host-or-server-with-no-downtime/
Admin
KWS Adams
Adding this line “””define(‘WP_ALLOW_REPAIR’, true);”” helped me get my site back after 14 hours of being down. Thought it was my hosts problem. Thanks for the info.
WPBeginner Support
You’re welcome, glad the recommendation was helpful
Admin
Maxine
Thanks! Step 1 worked for me.
WPBeginner Support
You’re welcome, glad our guide was able to help
Admin
Zubair Rahman
How to increase the connection limit in the MySQL database? My website is intermittently giving database error as it is exceeding the max connection limit allocated on the server.
WPBeginner Support
You would need to reach out to your hosting provider for changing that and they would be able to assist.
Admin
Agung Sudomo
I use google cloud as hosting and encounter this problem. What should I do?
WPBeginner Support
You should still be able to follow the steps in this article
Admin
Anita
Thank you so much for this! The solution for me was fixing url in sql. Thank you for the code!
WPBeginner Support
You’re welcome, glad our guide could be helpful
Admin
Nimra afridi
I have installed a wordpress . i also make post but sometime it shows me that ”please install wordpress”. Why it showing me that?
Thank you.
WPBeginner Support
There are a few possible reasons, you may want to reach out to your hosting provider to ensure there are no hiccups on their end.
Admin
alex
my website is hosted on aws and i accessed the MYSQL folder via filezila but i couldn’t find the file that contains database username , password and hostname. is there any specific name of that file?
WPBeginner Support
The file with that information would be your wp-config.php file
Admin
Chuck Whelon
Very helpful thank you.
WPBeginner Support
You’re welcome
Admin
Deborah N.
Thanks. Adding the repair code to my wp config file worked. I appreciate the article. It was straight forward and easy to follow.
WPBeginner Support
You’re welcome, glad our recommendation was helpful
Admin
bloggeryanke
your article was helpful i had changed my database password so it wasnt connecting to my blog properly but all thanks to your article the issue has been fixed
WPBeginner Support
Glad our recommendations could help
Admin
Joe Marzi
Thank you for sharing such a nice blog.
It will help the beginners of WordPress who are facing the problem regarding Error Establishing in the database connection. Apart from that, It gives a step by step solution so, every reader can easily solve the problem.
WPBeginner Support
You’re welcome, glad our articles can be helpful
Admin
Deepak
Thanks for such amazing information. I really liked your article.
WPBeginner Support
You’re welcome, glad you liked our article
Admin
Irwin
I got this error after forcefully shutting my computer. After trying all these suggested methods and failing, I rebooted my computer and the database error was fixed.
You should give it a try too if things go south.
WPBeginner Support
Thanks for sharing the solution that worked for you
Admin
Erik
Awesome! Very easy to follow and took minutes to solve.
WPBeginner Support
Glad our guide could be helpful
Admin
Bob
Yet again you guys come to my rescue. Fixed in a couple of minutes. Well done.
WPBeginner Support
Glad our guide could help
Admin
Nick Aninsley
Thank you so much for sharing this tutorial. Actually, had installed WordPress, 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. and my site were facing many other problems and only one of them has been solved. Thank for article.
WPBeginner Support
Glad our article could help
Admin
Emily
I can’t back up my site or do any of what you suggest, because I cannot get into the administrative section of my blog. I can view it, as a viewer, but I have no access to anything more. I also cannot find anyway to contact people from wordpress! Help!?!!
WPBeginner Support
You should be able to create a manual backup using the method here: https://www.wpbeginner.com/beginners-guide/how-to-make-a-wordpress-database-backup-manually/
If you reach out to your hosting provider they should be able to assist with getting you access back to your site
Admin
Waqas Gulzar
Guys,
I have fixed it now for my website
It was due to insufficient PHP memory
I have updated my php.ini to increase the PHP memory
WPBeginner Support
Thanks for sharing the solution that worked for you
Admin
pushkar
Hi WAQAS,
can you please advice how you updated my php.ini to increase the PHP memory. My Site is down with the error “Error Establishing A Database Connection” and i suspect it is also to do with memory.
WPBeginner Support
We have a guide you can follow here: https://www.wpbeginner.com/wp-tutorials/fix-wordpress-memory-exhausted-error-increase-php-memory/
Admin
ken
I’m on BlueHost and just upgraded to WP 5.2 and got the dreaded error message:
“Your PHP installation appears to be missing the MySQL extension which is required by WordPress.”
I tried with PHP 5.6, 7.0 & 7.1 – all give the same response. Any ideas what I can try? My site is completely blocked by the error.
WPBeginner Support
If you reach out to BlueHost they should be able to resolve that issue for you
Admin
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.
Admin
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
Admin
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.
Admin
Dana Jewel
Thanks for the article. Hopefully it will help.
WPBeginner Support
You’re welcome
Admin
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
Admin
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.
Admin
Erick
This solution helped me a lot. Thanks so much.
WPBeginner Support
You’re welcome
Admin
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
Admin
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.
Admin
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