Come risolvere l’errore di connessione al database di WordPress
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ò:
- Ripristinare un backup significa perdere tutte le modifiche che hai effettuato successivamente alla sua data.
- 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).
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:
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.
Selezionando la prima opzione, al termine della riparazione vedrai questa schermata:
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.
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?
Ciao Giuliano, tutti i contenuti o sono stati parzialmente integrati?
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
Ciao Alessandro, in tal caso sarebbe meglio ripartire dall’inizio. Un saluto!
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
Ciao Marco, sei partito da una installazione “singola” di WordPress, per poi passare al Multisite? Un saluto!
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.
Ciao Ezio, consigliamo se non lo hai già fatto di contattare il tuo provider, per capire l’origine dell’errore. Un saluto!
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?
Ciao Edoardo, quale è la versione PHP attiva sul tuo server? Un saluto!
5.6
Consiglierei, previo backup, di chiedere al tuo provider un aggiornamento della versione di PHP utilizzata.
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.
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 🙂
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
Ciao Davide, la password Database non è la stessa per accedere a WordPress. Il tuo provider ha risposto?
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
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!
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
Ciao Chiara io ricevo il messaggio di errore quando cerco di installa re WP, si ferma al 30% e appare il messaggio di errore.
Ciao Francesco, hai riprovato l’installazione utilizzando un altro browser?
si grazie ho risolto.
Bene 🙂
grazie
Grazie Chiara,
ho risolto il problema. Con la tua “Chiara” e non fumosa esposizione.
Assunta