Come risolvere errore di connessione al database di WordPress?

Se stai navigando sul web da un bel po’ hai visto almeno una volta questo errore.

L’errore nello stabilire una connessione al database di WordPress è uno di quei problemi che possono avere cause multiple. Per un principiante nel mondo di WordPress questo problema è terribilmente frustrante specialmente perché può arrivare dal nulla senza che tu faccia cambiamenti al sito.

Ci siamo imbattuti in questo problema un paio di giorni fa sul sito di un nostro cliente. Ci sono voluti un po’ meno di 20 minuti per rilevare e risolvere il problema.

Mentre facevamo la ricerca per trovare le possibili cause ci siamo resi conto che in giro non c’era nessun articolo che parli in maniera approfondita di questo argomento.

In questo articolo ti mostrerò come risolvere l’errore di stabilire una connessione al database di WordPress compilando un elenco di possibili soluzioni in un unico luogo.

Questo articolo e il primo da una lunga serie di articoli dove andremo a parlare degli errori più comuni di WordPress e come risolverli.

Nota: Prima di apportare modifiche al tuo sito o al tuo database, assicurati di eseguire un backup completo del tuo sito WordPress.

1. Perché si verifica questo errore del database su WordPress?

Beh insomma, stai vedendo questo errore perché WordPress non è in grado di stabilire una connessione al database.

Ora, il motivo per cui WordPress non è in grado di stabilire una connessione al database può variare, ecco alcuni motivi più comuni:

  • Potrebbe essere che le credenziali di accesso al database sono errate o sono state modificate.
  • Potrebbe essere che il server del database non risponda.
  • Potrebbe essere che il database sia stato danneggiato.

Nella nostra esperienza, la maggior parte delle volte questo errore si verifica a causa di una sorta di errore del server tuttavia ci potrebbero essere anche altri fattori.

Diamo uno sguardo a come fare per risolvere questo problema di WordPress.

2. Il problema si verifica anche dentro l’area di amministrazione di WordPress?

La prima cosa da fare è assicurarsi che si stia ottenendo lo stesso errore sia sul front-end del sito sia sul back-end del sito (wp-admin).

Se il messaggio di errore è lo stesso su entrambe le pagine “Errore nello stabilire una connessione al database”, allora puoi procedere alla fase successiva.

Se hai trovato un errore diverso sul /wp-admin per esempio qualcosa come “Una o più tabelle di database non sono disponibili. Il database può avere bisogno di essere riparato ”, allora dovete riparare il database.

È possibile farlo aggiungendo la seguente riga nel file wp-config.php. Aggiungi proprio prima di ‘That’s all, stop editing! Happy blogging’  nel file wp-config.php.

Una volta fatto questo, è possibile continuare il processo di riparazione visitando questa pagina (ricordati di usare il url del tuo sito al posto di tuosito.com:

http://tuosito.com/wp-admin/maint/repair.php

Ricorda, l’utente non ha bisogno di essere loggato per accedere a questa funzionalità quando questa definizione (WP_ALLOW_REPAIR) è impostata.

Questo perché il suo intento principale è quello di riparare un database danneggiato, gli utenti spesso non possono accedere quando il database è danneggiato. Quindi, una volta che si è fatto riparare e ottimizzare il database, assicurarsi di rimuovere la stringa che hai aggiunto prima dal tuo wp-config.php.

Se questa riparazione non risolve il problema, o se si hanno problemi ad eseguire la riparazione puoi continuare la lettura di questo articolo così da provare un’altra soluzione.

3. Controllare il file wp-config di WordPress

Il file wp-config.php è probabilmente il singolo file più importante perché dentro di esso vengono inseriti i dettagli che permettono a WordPress di collegarsi al database.

Se ci sono stati cambiamenti ai parametri devi correggerli anche dentro questo file.

Ricorda che il tuo valore DB_HOST può non essere sempre localhost. Questo può cambiare in base all’azienda di hosting.

Per gli host popolari come HostGator, BlueHost, Site5 e sempre localhost.

Per altri il valore può essere diverso.  Alcune persone hanno risolto il problema cambiando localhost con l’ip del server mysql. E’ molto comune trovare questo problema quando giriamo WordPress su un server locale.

Per esempio con MAMP se cambiamo il DB_HOST da localhost all ip sembra funzionare

Gli IP variano in base all’azienda che ti fornisce l’hosting. Se tutto dentro il file wp-config.php è ok (assicurati di verificare che non ci siano errori di scrittura) allora possiamo dire che il problema è causato da qualcosa a lato server.

4. Controlla il hosting (in particolare il server MySQL)

Molto spesso noterai questo errore “Errore di stabilire una connessione al database” quando il tuo sito riceve moltissimo traffico. In poche parole il tuo server non riesce a gestire il carico (sopratutto se sei su un hosting condiviso).

Il tuo sito diventerà molto lento e per alcuni utenti mostrerà l’errore di connessioni al database.

La migliore cosa che tu possa fare è metterti subito in contatto con l’assistenza del tuo hosting WordPress via email o chat e chiedere a loro se il server MySQL del tuo sito è ok perché tu stai riscontrando dei problemi che impediscono il corretto funzionamento del tuo sito.

Per quei utenti che vogliono fare da soli e provare il funzionamento del server ecco cosa si può fare.

Per prima cosa se hai altri siti web sullo stesso server verifica se l’errore si presenti anche lì.

Se è cosi allora il problema è sicuramente causato dal server MySQL.

Se invece non hai altri siti sullo stesso server nessun problema, ciò che devi fare è accedere al panello di controllo (di solito è cPanel) e tentare di accedere a phpMyAdmin e collegarti al database.

Se è stato possibile connettersi bisogno verificare che il tuo utente del database abbia abbastanza autorizzazioni.

Per fare ciò devi creare un nuovo file chiamato testconnection.php e incollare il seguente codice al suo interno:

Assicurati di sostituire il nome utente (root) e la password (password) con le tue credenziali.

Il file lo metti dentro la cartella principale del tuo sito web cosi da poter accedere al file con il seguente url: “http://tuosito.com/testconnection.php”.

Se ti esce la scritta “Connected Successfully” quando navighi a quel’url allora l’utente ha tutte le autorizzazioni necessarie e c’è qualche altra cosa che non va.

Vai di nuovo a verificare il file wp-config e fai molta attenzione a errori di scrittura; anche una virgola in più può causare problemi.

Se invece non riesci a collegarti a phpMyAdmin allora puoi dire con certezza che il problema è a lato server, questo non significa che il server e giù. Potrebbe essere soltanto un problema con le autorizzazioni.

Nel caso del nostro cliente il server MySQL funzionava e tutti gli altri siti che stavano sullo stesso server funzionavano tranne questo su cui stavamo lavorando.

Quando abbiamo tentato di accedere al phpMyAdmin abbiamo riscontrato il seguente errore: 

#1045 – Access denied for user ‘giulio’@’%’ (using password: YES)

Ci siamo messi subito in contatto con l’azienda di hosting e il loro servizio clienti ha trovato subito il problema.

A quanto pare le autorizzazioni dell’utente sono state cancellate per qualche ragione e questo portava al’errore.

Sono andati subito a ripristinare e il sito è tornato subito online senza l’errore di connessione al database di WordPress.

Quindi se ricevi “Access denied” sia dal phpMyAdmin sia tramite il file testconnection.php ti consiglio di contattare subito l’assistenza del tuo hosting.

Saranno in grado sicuramente di risolvere il problema.

Ricordati di dire a loro esattamente ciò che hai fatto così che abbiano tutte le informazioni necessarie.

5. Soluzioni che hanno funzionato per altri

E’ importante tenere bene presente che queste soluzioni possono non funzionare nel tuo caso. Quindi per la sicurezza del tuo sito esegui un backup completo di WordPress prima di iniziare.

Un utente straniero ha pubblicato sul forum ufficiale di WordPress dicendo che il il suo cliente riceveva sempre un errore che gli diceva che bisognava riparare il database.

Una volta eseguita la riparazione l’errore non andava via.

Ha provato varie cose e alla fine ha scoperto che l’errore era causato da una modifica al SITE_URL.

Per risolvere ha eseguito il seguente commando da phpMyAdmin per sostituire l’url giusto:

Assicurati di sostituire YOUR_SITE_URL con l’url reale del tuo sito (es: http://iltuosito.it).

Il wp_options sarà diverso se è stato modificato il prefisso del database per aumentare la sicurezza di WordPress. Questa soluzione ha aiutato sia l’autore principale sia anche altre persone che avevano commentato la sua discussione.

Un altro utente ha aperto una discussione sempre sul forum di WordPress dicendo di essere riuscito a collegarsi al database usando il file testconnection.php anche se l’errore era sempre visibile.

Quello che ha scelto di fare è stato sostituire i dati del database all’interno del file wp-config con i dati dell’utente “root”, l’utente principale.

Una volta fatto tutto ciò WordPress ha iniziato a funzionare normalmente. A questo punto ha invertito di nuovo le credenziali usando le stesse credenziali di prima e come per miracolo tutto funzionava. Ha concluso che il problema era un errore di scrittura.

Siccome seguiamo il forum ufficiale di WordPress abbiamo letto di un sacco di persone che hanno risolto il problema caricando di nuovo i file di WordPress sovrascrivendo quelli vecchi.

Questo tipo di errore è veramente frustrante e spero che questo articolo ti abbia aiutato a risolverlo.

Tu hai già riscontrato questo errore? Come hai risolto? Se hai usato una soluzione diversa da quelle elencate in questo articolo ti sarei molto grato se prendessi un paio di minuti per condividere tale soluzione con noi qui sotto nei commenti.

Aggiungeremo le nuove soluzioni nell’articolo così che altri utenti non debbano sprecare ore e ore per trovare una soluzione.

Hai domande o argomenti da aggiungere? Commenta qui sotto, e farò del mio meglio per risponderti.

Ho inoltre messo in piedi un gruppo gratuito su Facebook per tutti gli utilizzatori di WordPress, il gruppo e aperto a tutti quanti e dentro puoi fare domande, chiedere aiuto e sopratutto confrontarti con veri professionisti che usano WordPress per tutti i loro progetti online.

Il gruppo si chiama Utilizzatori WordPress e lo puoi trovare qui.

Se ti sei appena iscritto al nostro gruppo facci un saluto! Non mordiamo sai.

Hai trovato utile questo articolo?

Fallo sapere a tutti a quanti lasciando una tua valutazione (da 1 a 5 stele) qui sotto. A te non costa nulla ma per me significa tantissimo, sopratutto se il tuo sarà un voto a 5 stele.

1 commento su “Come risolvere errore di connessione al database di WordPress?”

  1. Pingback: Cosa fare quando sei bloccato fuori dal’ area di amministrazione di WordPress (wp-admin)

Hai qualche domande o qualcosa da aggiungere? Fammelo sapere con un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.