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 su questo problema un paio di giorni fa sul sito web di un nostro cliente. Ci sono voluti un po’ più 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.

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

1. Perché si verifica questo errore?

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.

  • Potrebbe essere che le credenziali di accesso del database siano errate o siano 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.

2. Il problema si verifica anche per / wp-admin?

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

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 l’hosting (in particolare il server MySQL)

Molto spesso noterai questo l’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 del database.

La migliore cosa che tu possa fare è metterti subito in contatto con l’hosting via email o chat e chiedere a loro se il server MySQL del tuo sito è reattivo.

Per quegli 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 dobbiamo 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 web 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 web è tornato subito online senza l’errore “ Error Establishing a Database Connection”

Quindi se ricevi “ Access denied” sia dal phpMyAdmin sia tramite il file testconnection.php ti consiglio di contattare subito l’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 sicurezza esegui un backup completo prima di iniziare.

Un utente straniero ha pubblicato sul forum 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. 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.

Come risolvere errore di connessione al database di WordPress?
Media 5 su 4 voti

Condividi questo articolo sui social.

Condividi su facebook
Facebook
Condividi su google
Google+
Condividi su twitter
Twitter
Condividi su linkedin
LinkedIn
Madalin

Madalin

Ciao, mi chiamo Macesanu Madalin e da circa 1 anno sto gestendo TuttoWP (tuttowp.it) dove ho intenzione di pubblicare almeno un articolo al giorno in varie tematiche ovviamente inerenti al mondo di WordPress.

Altri articoli dal nostro blog

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.