Come risolvere l’errore di connessione al database di WordPress

Risolvere l'errore di connessione al database

Apri l'indice dei contenuti

Un bel giorno apri il tuo sito, come sei solito fare per verificare che tutto sia a posto. Ma oggi non è affatto tutto a posto. Ciò che ti si presenta davanti, al posto della tua splendida opera d’arte, è una orribile schermata bianca con la scritta “Errore nello stabilire una connessione al database”.

Mettersi a piangere in turco in questa situazione non ti aiuterà affatto, anche se per ora ti sembra l’unica cosa che puoi fare.

In realtà, ci sono ben 4 modi per risolvere questo problema, quindi non c’è bisogno di disperarti!

Calmati e seguimi, te li mostro uno per uno.

4 passi per risolvere l’errore di connessione al database di WordPress

L’errore di connessione al database può dipendere da tanti fattori, come un semplice sovraccarico del server sul quale il tuo sito è ospitato, un errore di codice nel file wp-config di WordPress, o un problema tecnico di altro motivo.

Qualunque cosa sia successa al tuo sito, proveremo a risolverlo in autonomia. Se dovessi incontrare difficoltà, puoi comunque contare sull’aiuto del nostro reparto Servizi.

Tanto tempo fa mi successe una cosa del genere. Provai a risolvere da solo, ma non ci riuscii.

Contattai quindi l’assistenza del mio hosting dell’epoca e in effetti il problema non era mio, bensì loro. Nel senso che i server erano sovraccarichi e quindi c’era stato un malfunzionamento.

E questo fu uno dei motivi che mi convinsero a scegliere SiteGround per il mio blog.

Ora però proviamo a risolvere il tuo problema.

1. Ripristina un backup

Hai un backup recente di una versione funzionante del tuo sito?

La cosa più rapida che puoi fare è infatti ripristinarlo. Se il problema dipende da codice presente nei file, è possibile che in questo modo tutto ritorni alla normalità.

Se hai un hosting di qualità, sicuramente avrai anche un servizio di backup automatici quotidiani.

Attenzione però:

  1. Ripristinare un backup significa perdere tutte le modifiche che hai effettuato successivamente alla sua data.
  2. Non è detto che ripristinando il backup il tuo sito ricominci a funzionare.

Valuta se sia il caso di correre questo rischio.

Se non osi tentare questa strada, allora prova con una delle soluzioni che ti suggerisco qui di seguito.

In ogni caso, esegui un backup prima di procedere.

Sì, anche se in questo momento il sito non funziona, salva ugualmente un backup, non si sa mai!

2. Controlla il file wp-config.php

Il file wp-config.php è uno dei più importanti del tuo intero sito e ci servirà per risolvere l’errore di connessione al database di WordPress.

Un sito WordPress è costituito da file (cioè, file .php, .css. eccetera) e da un database. Se uno di questi due elementi viene a mancare o non è raggiungibile, un sito WordPress non può esistere.

Il file wp-config.php contiene i file necessari a creare il collegamento tra file e database, attraverso le informazioni come il nome del database, e un nome utente e una password per accedere ad esso.

Capirai bene, quindi, che se le credenziali non sono corrette, non è possibile connettersi al database, e quindi si genera l’errore.

Queste credenziali si trovano sotto alla riga/commento:

** Impostazioni MySQL – È possibile ottenere queste informazioni dal proprio fornitore di hosting **

Ci sono tre righe:

  • DB_NAME, dove è indicato il nome del database.
  • DB_USER, dove è indicato il nome dell’utente associato al database.
  • DB_PASSWORD, dove è indicata la password che hai creato per l’utente.

Su un’installazione vera è propria, il file ha questo aspetto (nell’immagine qui sotto le credenziali sono parzialmente oscurate per motivi di sicurezza).

Correggi credenziali per risolvere errore di connessione al database

Basta quindi un solo errore in questa sezione del file per impedire a WordPress di raggiungere il database e quindi mostrare il tuo sito.

Vai quindi a verificare che i dati in questo file siano corretti.

Accedi al File Manager dal cPanel, o alla sezione Sito > Gestione Sito del Site Tools se usi SiteGround.

Troverai il file wp-config.php nella cartella public_html, ossia la cartella principale del tuo sito (il suo nome può cambiare a seconda dell’hosting che utilizzi).

Apri il file direttamente nel browser, oppure scaricalo sul tuo PC se per te è più comodo editarlo in questo modo. Assicurati comunque di conservare una copia di backup del file originale.

Trova quindi le righe in cui sono presenti i dati DB_NAME, DB_USER e DB_PASSWORD.

Entra ora nella sezione MySQL del tuo pannello di gestione dello spazio web (quindi in cPanel, Site Tools o comunque l’area clienti del tuo hosting), dove troverai il nome del tuo database e degli utenti ad esso associati.

I dati corrispondono?

Se trovi differenze, correggi il file e salvalo sul server. Tutto ora dovrebbe essere tornato alla normalità.

Se invece i dati corrispondono, allora il problema è un altro.

Proviamo quindi con un altro sistema.

3. Segui la procedura per riparare ed ottimizzare il database del tuo sito

Forse, il database del tuo sito è corrotto e per risolvere l’errore di connessione al database di WordPress dovrai seguire la procedura standard di riparazione.

Torna di nuovo sul file wp-config.php.

Ora, subito dopo l’intestazione

/* Finito, interrompere le modifiche! Buon blogging. */

aggiungi la riga:

define('WP_ALLOW_REPAIR', true);

Qui sotto vedi uno screenshot del file con l’aggiunta di questo codice:

usa allow repair su wp-config

Questa riga di codice serve ad attivare la funzionalità di riparazione, anche quando non hai accesso al sito e devi quindi lavorare su di esso dall’esterno.

Quando hai aggiunto il codice e salvato il file, visita questo URL (ovviamente, sostituendo www.example.com con il dominio del tuo sito):

www.example.com/wp-admin/maint/repair.php

Qui vedrai alcune istruzioni con due opzioni:

  • Riparazione database, solo per identificare errori e ripararli.
  • Riparazione ed ottimizzazione del database, per individuare e risolvere eventuali problemi, ed ottimizzare il database. Questa opzione potrebbe essere la migliore però richiede più tempo. Per far sì che il tuo sito torni a funzionare, non è necessario ottimizzare il database.

riparazione database per risolvere errore di connessione

Selezionando la prima opzione, al termine della riparazione vedrai questa schermata:

risultato repair database

Come vedi, alla fine è suggerito di rimuovere i codici che hai precedentemente aggiunto al file wp-config.php.

Infatti, per avviare la procedura di riparazione del database non è necessario inserire alcuna credenziale. Questo significa che chiunque potrebbe farlo!

Evita quindi che questo “chiunque” approfitti della situazione ed elimina la riga define(‘WP_ALLOW_REPAIR’, true); per disattivare la funzionalità e mantenere il tuo sito sicuro.

Ancora non sei riuscito a risolvere il problema?

Allora è il caso di rivolgersi al supporto tecnico.

4. Contatta un esperto

Se non sei riuscito a risolvere l’errore di connessione al database di WordPress, è il momento di rivolgerti ad un esperto.

Come ti spiegavo all’inizio, se non hai fatto alcuna modifica su WordPress, sui file o sul database, ed il tuo sito improvvisamente non funziona, potrebbe esserci un problema di sovraccarico del server.

In questo caso, alcuni utenti forse riescono a vedere il sito. Altri probabilmente vedono una schermata bianca. Altri ancora forse vedono l’errore di connessione al database.

Se usi un servizio di tipo condiviso, un sovraccarico del server potrebbe non essere necessariamente dovuto a un picco di traffico sul tuo sito.

Infatti, anche un picco di traffico su un altro dei siti che condividono con te il server può determinare problemi anche su tutti gli altri siti qui presenti.

Puoi rivolgerti al nostro servizio di Assistenza WordPress e potremo verificare se l’errore di connessione è causato da fattori che non dipendono da un tuo errore o dal tuo sito, e procedere nella maniera ottimale per risolvere l’errore di connessione al database di WordPress.

Conclusione

In questa guida abbiamo visto come risolvere l’errore di connessione al database di WordPress.

Se vedi questo errore, cerca di mantenere la calma. Nella maggior parte dei casi è risolvibile senza ripercussioni sul tuo sito o sui suoi contenuti.

Segui quindi le istruzioni sopra per individuare il problema; dovresti riuscire a rendere il tuo sito nuovamente visibile in poco tempo.

Come al solito, ora passo a te la parola:

Ti è mai capitato di vedere sul tuo sito un errore di connessione al database?

Come lo hai risolto?

Ti sei rivolto al servizio di supporto del tuo hosting provider oppure hai adottato una delle soluzioni descritte sopra?

Ti invito a farmelo sapere lasciando un commento qui sotto al post.

 

Guide correlate:

Immagine di Andrea Di Rocco autore articoli SOS WP
Andrea Di Rocco Fondatore di SOS WP™
La mia passione per WordPress mi ha portato negli ultimi 10 anni a voler aiutare sempre più persone a creare blog e siti web in WordPress in completa autonomia. Spero che troverai utili le oltre 700 guide su WordPress e sulla SEO che ho pubblicato su questo blog. Se ne hai voglia ti invito a leggere la mia storia, cliccando sul pulsante qui sotto.
25Commenti
Lascia un commento
  1. GIULIANO FELICE

    salve io avrei un problema diverso, sempre legato al database. ho importato il mio vecchi sql in un nuovo database. sembra vada tutto ok. ho collegato a wordpress e ok. solo che se apro l’admin non vede i contenuti. che controlli posso fare?

    1. SOS WP Team

      Ciao Giuliano, tutti i contenuti o sono stati parzialmente integrati?

  2. Alessandro

    Salve,
    innanzitutto grazie per il blog, davvero molto curato e utilissimo, soprattutto per me che sono alle prime armi con WordPress.

    Ho un problema di connessione al database, il sito che sto sviluppando è su localhost.
    Ho provato con la riparazione suggerita qui sul blog aggiungendo la riga “define(‘WP_ALLOW_REPAIR’, true);” ma connettendomi poi a
    http://localhost/wp-admin/maint/repair.php
    ricevo un errore, il seguente:

    Warning: Use of undefined constant ‘WP_ALLOW_REPAIR’ – assumed ‘‘WP_ALLOW_REPAIR’’ (this will throw an Error in a future version of PHP) in C:\xampp\htdocs\wp-config.php on line 86
    Error establishing a database connection

    Vorrei chiedere gentilmente se è corretto puntare all’indirizzo che ho indicato per avviare la riparazione dato che il sito è in localhost.

    Segnalo anche che su Phpmyadmin:
    – sezione “OPERAZIONI”, vedo un banner rosa in alto: “La configurazione dello storage di phpMyAdmin è disabilitata. Scopri la ragione.”
    – sezione “PRIVILEGI” c’è invece il popup rosa” #1030 – Rilevato l’errore 176 “Read page with wrong checksum” dal gestore delle tabelle Aria”

    In questa situazione, mi farebbe piacere tentare comunque di riparare/ripristinare il sito, anche per familiarizzare con gli strumenti di supporto ma…. farei prima/è necessario installare tutto d’accapo (XAMPP, WordPress, …), dato che ho un backup del sito?

    Grazie in anticipo.
    Saluti
    Alessandro

    1. SOS WP Team

      Ciao Alessandro, in tal caso sarebbe meglio ripartire dall’inizio. Un saluto!

  3. Marco

    Cara Chiara,
    sono un giovane grafico che ha una picocla agenzia di eventi e comunicazione a Lucca.
    Organizzo tra le tante cose un festival a lucca di nome Histrionika che ha un sito http://www.histrionika.it

    Volevo sapere se puoi aiutarmi a risolvere questo problema che mi sta affliggendo da giorni.
    Ho inizializzato il multisite sul sito per fare in modo che ogni anno possa creare il sito dell’edizione nuova del sito ma lasciando la visione del sito vecchio.
    Appena sono andato a creare i siti 2018 e 2019 ho:

    http://www.histrionika.it/2018
    http://www.histrionika.it/2019 (da riempire)

    ma ora non riesco più ad accedere a

    https://www.histrionika.it/wp-admin

    devo per forza accedere a
    https://www.histrionika.it/2018/wp-admin
    o
    https://www.histrionika.it/2019/wp-admin

    senza avere piùla possibilità di modificare “i miei siti”

    Puoi aiutarmi per favore?
    Marco

    1. Andrea Di Rocco

      Ciao Marco, sei partito da una installazione “singola” di WordPress, per poi passare al Multisite? Un saluto!

  4. Ezio

    Ciao, ho modificato il file config.php come da spiegazione ma, quando cerco di aprire la pagina del mio blog per riparare il database puntando su http://www.example.com/wp-admin/maint/repair.php mi da una pagina di errore 404.

    1. Andrea Di Rocco

      Ciao Ezio, consigliamo se non lo hai già fatto di contattare il tuo provider, per capire l’origine dell’errore. Un saluto!

  5. Edoardo

    Buonasera, scusami il disturbo.

    Ho un problema, dopo aver configurato w3 total Cache, per tentare di ottimizzare la velocità , mi è crashato tutto. Ed il server va in timed out.

    Ho chiesto gia all’assistenza ma provo pure qui:

    Ho fatto senza esito le seguenti operazioni:

    > via ftp ho rinominato le cartelle plugins e theme, cancellato totalmente quella di w3 total cache, senza risultati.
    > dal cpanel ho ripristinato spazio web e permessi, ma niente
    > ho provato la soluzione del repair ma nulla, ovviamente non mi funge perché eccede il tempo limite

    > non ho uma versione di backup

    > i dati sono corretti del db
    > nel file htaccess tutto è settato al max limit di memoria( 512)

    Che altre soluzioni potrei avere?

    1. Andrea Di Rocco

      Ciao Edoardo, quale è la versione PHP attiva sul tuo server? Un saluto!

    2. Edoardo

      5.6

    3. Andrea Di Rocco

      Consiglierei, previo backup, di chiedere al tuo provider un aggiornamento della versione di PHP utilizzata.

  6. Davide

    Salve,

    il provider ha risposto così:

    “Gentile Davide,
    l’errore di connessione al DB, indica che il sito ha saturato le richieste consentite al server web, in base alle impostazioni del sistema di QOS. Questo non significa che ha troppi accessi, ma semplicemente che gli script richiedono troppe risorse server.
    Generalmente basta “alleggerire” il sito eliminando i “richiami multipli” a script nella stessa pagina che si attivano da soli o magari facendo un po di caching dove possibile.
    Intanto la invitiamo a seguire le indicazioni della FAQ seguente …. in cui mi hanno consigliato 3 plugin Jetpack (free) – Wp Smush (free) – WP Fastest Cache (free). Io ho risposto così:
    “Ho installato WP Fastest Cache e mi sembra che le cose siano un po’ migliorate anche se il problema non si è risolto del tutto. Comunque grazie al plugin WP Fastest Cache posso pulire la cache come da voi suggerito. Volevo anche chiedere, cosa intendete per “alleggerire” il sito eliminando i “richiami multipli” a script nella stessa pagina che si attivano da soli? C’è altro che posso fare?”
    Vi rigiro la stessa domanda, non sapendo bene che fare!
    Grazie mille, siete sempre stra rapidi e gentilissimi.

    1. Andrea Di Rocco

      Ciao, per risolvere il problema relativo i “richiami multipli” verifica di avere attivi solo i plugin che ti sono realmente necessari. Il plugin di cache può fare il resto, utilizza poi un tool specifico per monitorare le prestazioni del tuo sito web. Buon lavoro 🙂

  7. Davide

    Salve,

    sto cercando di relizzare un sito con wordpress. Sono alle prime armi e mi sono imbattuto in questo errore.

    Le tre righe di cui parlate le ho trovate nel file wp-config.php. però mi sembra tutto ok anche se non ho mai creato la password per il database come segnalate voi nella dicitura “DB_PASSWORD dove è indicata la password che hai creato per l’utente.”
    L’unica cosa che ho fatto, prima che si presentasse il problema, è modificare la password per accedere alla bacheca di WordPress. Visto l’errore e prima di trovare questo articolo, ho rimesso la password precedente, ma l’errore di connessione al database persiste.

    Cosa altro potrebbe essere?

    Sono in attesa di risposta dal provider

    Grazie mille

    1. Andrea Di Rocco

      Ciao Davide, la password Database non è la stessa per accedere a WordPress. Il tuo provider ha risposto?

  8. Cristian

    Ciao Chiara, ho letto questo post ed è veramente interessante, io ho un problema analogo praticamente, ho ritrovato un archivio con backup di alcuni siti in wordpress 3.5.1 e mi piacerebbe rivederli, così per curiosità….. ho provato ad installarli e ripristinare il backup da phpmyadmin ma quando provo ad entrare nella home mi dice

    “L’installazione PHP non ha l’estensione MySQL che è necessaria per utilizzare WordPress.”

    non so come risolverla, ho provato ad attivare anche la tua procedura molto interessante ma il risultato non cambia

    hai qualche soluzione??

    grazie

    Cristian

    1. Andrea Di Rocco

      Ciao Cristian, molto probabilmente a versione PHP che hai sul server va in conflitto con quella utilizzata da WordPress. Per utilizzarne una antecedente dovresti contattare il tuo provider. Un saluto e grazie del tuo commento!

    2. Cristian

      Ciao,
      grazie per la risposta, ho risolto effettuando l’ aggiornamento manuale all’ultima versione ed ora lo vedo….. stranamente ho perso le foto dei post

      Cristian

  9. Francesco

    Ciao Chiara io ricevo il messaggio di errore quando cerco di installa re WP, si ferma al 30% e appare il messaggio di errore.

    1. Andrea Di Rocco

      Ciao Francesco, hai riprovato l’installazione utilizzando un altro browser?

    2. Francesco

      si grazie ho risolto.

    3. Andrea Di Rocco

      Bene 🙂

  10. Assunta

    grazie

  11. Assunta

    Grazie Chiara,
    ho risolto il problema. Con la tua “Chiara” e non fumosa esposizione.

    Assunta

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *