Come risolvere l’errore “Establishing a Database Connection” in WordPress

Ti piacerebbe vedere altri video come questo?
Dai un’occhiata al nostro canale YouTube.

"Error establishing a database connection" è un errore fatale di WordPress: il tuo sito non riesce a raggiungere il suo database, così i visitatori vedono una pagina bianca con quell’unica riga al posto dei tuoi contenuti. La causa più comune sono credenziali del database errate nel tuo file wp-config.php, di solito dopo uno spostamento del sito, quindi è la prima cosa da controllare.

Soluzione rapida: apri wp-config.php e verifica che DB_NAME, DB_USER, DB_PASSWORD e DB_HOST corrispondano ai valori nelle impostazioni MySQL del tuo account di hosting. Se corrispondono e l’errore persiste, è probabile che le tabelle del database siano corrotte o che il server MySQL sia inattivo. I passaggi seguenti affrontano ogni causa in ordine di probabilità.

Cosa causa il messaggio di errore "Error Establishing a Database Connection"?

Il messaggio di errore "Error Establishing a Database Connection" può essere causato da credenziali del database errate nelle impostazioni di WordPress, da un database corrotto o da un server di database che non risponde.

Immagine: Messaggio di errore Error Establishing a Database Connection
This is what the error message “Error Establishing a Database Connection” looks like

Usa questa tabella per abbinare ciò che vedi alla causa più probabile e passare direttamente alla soluzione:

Cosa vedi Causa più probabile Dove risolverlo
Lo stesso errore sul front end e in /wp-admin Credenziali del database errate in wp-config.php Controlla le credenziali del database WordPress
L’errore è iniziato subito dopo lo spostamento su un nuovo host Host del database errato, o credenziali del nuovo server Controlla le informazioni sull’hostname del database
/wp-admin mostra "One or more database tables are unavailable" Tabelle del database corrotte Riparare le tabelle del database WordPress
Il sito rallenta sotto il traffico, poi va in errore Server MySQL sovraccarico o offline Controlla se il server del database è offline
L’errore è comparso dopo aver cambiato l’indirizzo del sito Valore siteurl obsoleto nel database Aggiornare l’URL del sito WordPress

Cos’è un database?

Per capire il problema, spieghiamo brevemente con cosa abbiamo a che fare:

Un database è un software che facilita l’archiviazione, l’organizzazione e il recupero dei dati da un software all’altro.

WordPress agisce come un sistema di gestione dei contenuti. Utilizza un database per memorizzare tutti i tuoi contenuti e altri dati del sito. Una connessione al database viene stabilita ogni volta che il sito viene visitato.

Quali dati servono a WordPress per stabilire una connessione al database?

WordPress ha bisogno delle seguenti informazioni:

  • Nome del database
  • Nome utente del database
  • Password del database
  • Server del database

Queste informazioni sono salvate nel tuo file di configurazione WordPress con il nome "wp-config.php".

Non appena uno di questi elementi è errato, WordPress non può più connettersi al tuo server di database. Allora ottieni il messaggio di errore "Error Establishing a Database Connection."

È uno degli errori WordPress più comuni. Oltre a credenziali errate, questo errore può verificarsi anche se il server del database si è guastato o i file del database sono danneggiati.

Diverse ragioni possono causare questo errore; abbiamo elencato i diversi scenari uno per uno. Se hai già provato uno di questi approcci da solo, seleziona i passaggi successivi dall’indice sopra.

Inizieremo con il motivo più probabile e poi passeremo a motivi meno comuni.

Controlla le credenziali del database WordPress

La causa più comune del fallimento della connessione al database in WordPress è l’uso di credenziali del database errate.

Uno dei motivi di una connessione errata al database WordPress può essere uno spostamento recente del tuo sito WordPress su un nuovo host o server.

Le informazioni di accesso per il database WordPress sono salvate nel file wp-config.php. Questo file di configurazione WordPress contiene tutte le impostazioni di base di WordPress, comprese le informazioni del database.

Accedi al tuo sito utilizzando un client FTP come FileZilla e cerca le righe sottostanti nel file wp-config.php:

Immagine: Credenziali del database

Ora devi assicurarti che il nome del database, il nome utente e la password siano corretti.

Puoi controllare queste informazioni nella dashboard del tuo account hosting WordPress. Accedi al tuo account hosting e clicca su "MySQL Databases" nella sezione Database.

Immagine: Account hosting database MySQL

Verrai ora portato alla pagina di amministrazione del database nella tua dashboard di hosting. Qui puoi vedere il nome del tuo database e il nome utente.

Immagine: Informazioni sul database

Di seguito ci sono gli utenti del database e i link per cambiare la password dell’utente.

Immagine: Utente del database

Dopo aver verificato la corrispondenza del nome del database, nome utente e password, puoi modificare queste informazioni nel tuo file wp-config.php se necessario.

Prova a rivisitare il tuo sito per vedere se l’errore di connessione al database è risolto.

Se vedi ancora l’errore, significa che qualcos’altro sta causando il problema. Continua a leggere l’articolo per ulteriori passaggi di risoluzione dei problemi.

Controlla le informazioni sull’hostname del database

Se hai seguito il metodo uno e verificato di utilizzare le informazioni di accesso al database WordPress corrette, dovresti assicurarti di utilizzare le informazioni dell’host del database appropriate.

La maggior parte delle aziende di hosting WordPress utilizza "localhost" come host del database. Tuttavia, alcune aziende di hosting WordPress utilizzano server separati per ospitare i database. In questo caso, le informazioni dell’host del database non sono localhost.

In questo caso, dovrai contattare la tua azienda di hosting WordPress per ottenere le informazioni dell’host del tuo database.

Riparare le tabelle del database WordPress

C’è un modo rapido per distinguere le tabelle corrotte dalle credenziali errate: se il tuo sito pubblico mostra l’errore generico ma /wp-admin mostra un messaggio diverso, "One or more database tables are unavailable. The database may need to be repaired," le tabelle stesse sono danneggiate ed è questa la sezione di cui hai bisogno.

Per riparare il database, aggiungi la seguente riga al file "wp-config.php":

define('WP_ALLOW_REPAIR', true);

Aggiungi questo testo direttamente prima della riga "That’s all, stop editing! Happy blogging".

Aggiungi il codice di riparazione del database con la costante WP_ALLOW_REPAIR.

Visita http://www.example.com/wp-admin/maint/repair.php per visualizzare le impostazioni in questa pagina:

Opzione Ripara e Ottimizza Database

Clicca sul pulsante "repair database" e attendi che il processo termini.

Qualsiasi visitatore può accedere a questa pagina di riparazione del database. Quando hai terminato la riparazione e l’ottimizzazione del tuo database, dovrai rimuovere questo codice dal tuo file “wp-config.php”.

Controlla se il server del database è offline

Se hai controllato tutti gli elementi e WordPress ancora non riesce a connettersi al database, il tuo server di database (server MySQL) potrebbe essere inattivo.

Questo accade quando c’è molto traffico su un server. Il server di hosting non riesce a gestire questo carico pesante. Il problema si verifica soprattutto quando stai usando un hosting condiviso.
Di conseguenza, il tuo sito diventerà molto lento, e alcuni utenti potrebbero persino ricevere l’errore.

Mettiti in contatto con il tuo provider di hosting e verifica se il tuo server MySQL sta rispondendo.

In alternativa, se hai altri siti web in esecuzione sullo stesso server, puoi controllare quei siti per assicurarti che il tuo server SQL sia inattivo.

Per controllare se le tue credenziali di accesso al database sono corrette e il tuo server di database non è offline, crea un nuovo file di testo vuoto con un editor di testo, nominalo testconnection.php e copia e incolla il codice sottostante in quel file di testo vuoto:

<?php $link = mysqli_connect('localhost', 'username', 'password'); if (!$link) { die('Could not connect: ' . mysqli_error()); } echo 'Connected successfully'; mysqli_close($link); ?>

Immagine: Verifica i permessi dell'utente del database
Verify if your database user has sufficient permission

Regola i valori "username" e "password" in base alle tue impostazioni.
Ora carica questo file con FTP o un plugin di gestione file sul tuo sito e accedivi tramite un browser web.

Se lo script riesce a connettersi con successo, significa che il tuo utente ha permessi sufficienti e il tuo server di database è online. Ora usa le stesse credenziali nel wp-config.php, e WordPress potrà connettersi al database.

Nel prossimo passaggio, elencheremo altre soluzioni che funzionano anche, ma si verificano meno spesso delle precedenti.

Aggiornare l’URL del sito WordPress

Accedi a phpMyAdmin dalla dashboard del tuo account di hosting e seleziona il tuo database WordPress.

Quindi, clicca sul menu SQL in alto e inserisci la seguente query MySQL:

UPDATE wp_options SET option_value='YOUR_SITE_URL' WHERE option_name='siteurl'

Nota: Assicurati di inserire il tuo "Site URL" e di cambiare "wp_options" con il nome della tabella del tuo sito se il tuo sito usa un prefisso di tabella WordPress diverso.

Riavviare il server web

Se stai utilizzando un server dedicato, un server locale o un server virtuale privato (VPS), puoi provare a riavviare i tuoi server.

Il riavvio dei server web e del database può risolvere problemi temporanei che potrebbero causare l’errore.

Se l’errore persiste ancora

Se nessuno dei passaggi sopra riporta online il tuo sito, raccogli maggiori dettagli prima di contattare il supporto:

  • Abilita il log di debug aggiungendo define('WP_DEBUG', true); e define('WP_DEBUG_LOG', true); a wp-config.php, ricarica il sito, poi leggi wp-content/debug.log per l’errore esatto del database. Rimuovi entrambe le righe una volta terminato.
  • Chiedi al tuo provider di hosting di confermare che il servizio MySQL sia in esecuzione e che il tuo account non abbia raggiunto un limite di connessione o di archiviazione.
  • Se l’errore è comparso subito dopo un aggiornamento, una migrazione o un ripristino, torna a un backup recente del tuo sito e del database. Questo annulla qualunque modifica abbia interrotto la connessione e ti offre un punto di partenza funzionante per riprovare.

Conclusione

L’"Error Establishing a Database Connection" può essere scoraggiante, ma con i passaggi giusti, spesso è una soluzione semplice. Comprendendo le possibili cause e applicando le soluzioni descritte sopra, puoi ripristinare il tuo sito WordPress rapidamente. Una manutenzione regolare e misure proattive aiuteranno a prevenire questo errore in futuro.

Articoli correlati

Rene Hermenau

Autore: Rene Hermenau

Informazioni sull'autore: René Hermenau è il fondatore di WP STAGING. Si occupa di backup WordPress, staging, migrazioni, gestione dei database e flussi di deployment sicuri.