Un bel giorno apri il tuo sito, come sei solito fare, per verificare che tutto sia a posto.
Ma oggi c’è una brutta sorpresa. Ciò che ti si presenta davanti, al posto della tua splendida opera d’arte, è una semplice schermata bianca con la scritta “Errore nello stabilire una connessione al database”.
Mettersi a piangere in turco in questa situazione difficilmente sarà utile, anche se per ora ti sembra l’unica cosa che puoi fare.
In realtà, ci sono ben 4 modi per risolvere questo problema, quindi vediamoli subito e andiamo a mettere tutto a posto!
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 sul pronto intervento della nostra Assistenza WordPress.
Tanto tempo fa mi successe una cosa del genere. Provai a risolvere da solo, ma con scarsi risultati. 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 fecero comprendere l’importanza di utilizzare un hosting WordPress di qualità, sicuro, affidabile e con un buon servizio di supporto.
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 buon hosting, 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 preferisci prendere una strada diversa, 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, potrebbe sempre servire!
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 sono errate, 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 di gestione file del tuo hosting;
- Puoi anche utilizzare un client FTP, scaricare il file da modificare e poi caricarlo nuovamente sul server;
- 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 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 è impossibile 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.
Per il momento, ci serve solo effettuare una riparazione, quindi seleziona la prima opzione e lascia che la procedura venga completata. Al termine della riparazione vedrai questa schermata:
Come vedi, alla fine ti viene 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.
Il problema è ancora presente? Allora è il caso di rivolgersi al supporto tecnico.
4. Contatta un esperto
Se hai ancora 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 dipendere da diverse cause, tra cui un picco di traffico sul tuo sito. Però, 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.
Se cerchi l’affidabilità e vuoi evitare questa situazione, ho un consiglio per te. Il piano Linux di Register.it, infatti, oltre ad essere un ottimo piano per siti web WordPress (e non solo), include una funzionalità gratuita che garantisce il continuamento del servizio.
Con Elastic Hosting, incluso in tutti i piani Linux, dopo aver raggiunto i limiti del tuo piano si applica in automatico una sorta di “upgrade temporaneo”. I rischi di interruzioni per sovraccarico sono quindi estremamente ridotti.
Puoi rivolgerti al nostro servizio di Assistenza WordPress e potremo verificare se l’errore di connessione è causato da fattori diversi da un tuo errore o dal tuo sito.
Potrai così 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.
12 Responses
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
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:
www.histrionika.it/2018
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
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.