Come correggere “Errore nello stabilire una connessione al database" in WordPress
Questo tutorial riguarda i seguenti argomenti:
“Errore nello Stabilire una Connessione al Database” è un errore che ti dice che il tuo sito web WordPress non può connettersi al suo database. Può sembrare difficile da risolvere, ma fortunatamente ci sono solo una manciata di motivi che possono causarlo, e con un po’ d’indagine e troubleshooting, è possibile risolvere facilmente il problema.
Questa guida spiegherà cosa significa “Errore nello Stabilire una Connessione al Database”, delineerà le cause più comuni e come risolverle.
Cosa significa “Error Establishing a Database Connection” in WordPress?
Prima di esaminare l’errore, dobbiamo capire come funziona WordPress. Come la maggior parte delle applicazioni CMS (Content Management System), è costituito da due parti integranti: i file e un database.
I file sono la base del sito e contengono le funzionalità principali di WordPress, i media, i temi e i plugin.
D’altra parte, il database contiene le impostazioni personalizzate del sito e i suoi contenuti unici. Tutte le pagine, i post, il testo e il design sono registrati come voci nelle tabelle.
I file comunicano con il database attraverso varie funzioni PHP e MySQL ed estraggono i dati visualizzati sulle pagine web.
Pertanto, quando il tuo sito non riesce a connettersi al database, non può recuperare i dati necessari per visualizzare le pagine. WordPress ti avverte del problema visualizzando il messaggio “Errore nello Stabilire una Connessione al Database”, come mostrato nell’immagine qui sotto.
Quali sono le cause più comuni di “Errore nello stabilire una connessione al database”?
Esistono diversi scenari in cui viene visualizzato l’errore. I più comuni includono:
- Impostazioni del database errate nel file di configurazione – Le credenziali del database non corrette sono probabilmente il motivo più comune per una connessione al database interrotta. Se il nome del database, il nome utente, la password o il nome host sono errati, il sito non si connetterà al database e restituirà “Errore nello stabilire la connessione al database”.
- Privilegi utente database insufficienti – Un altro motivo per cui si verifica l’errore è se l’utente del database non dispone di privilegi sufficienti, anche se le credenziali sono corrette. L’utente deve avere il permesso di eseguire tutti i tipi di operazioni MySQL sul database.
- Tabelle del database danneggiate – WordPress è un sistema altamente dinamico e ogni volta che apporti modifiche al tuo sito web, le tabelle del database vengono modificate. L’aggiunta o l’eliminazione di plugin e temi crea nuove tabelle o elimina quelle esistenti, nuove pagine aggiungono nuove voci, ecc.
Con così tante operazioni MySQL eseguite, occasionalmente, le tabelle potrebbero danneggiarsi, il che potrebbe portare a un’altra variazione di “Errore di connessione al database” – “Una o più tabelle del database non sono disponibili”. - URL del sito web non corretti – In rare occasioni, l’”Errore nello stabilire una connessione al database” potrebbe essere causato da URL non corretti del sito.
- File WordPress corrotti – Un altro motivo per cui vedi il messaggio “Errore nello stabilire una connessione al database” è che i file core di WordPress del tuo sito sono corrotti. Ciò potrebbe derivare da un’infezione da malware, un aggiornamento non riuscito o un trasferimento di file incompleto durante lo spostamento manuale del sito.
- Il server del database è inattivo o sovraccarico.
Come correggere “Errore nello stabilire una connessione al database”
A prima vista, l’errore sembra abbastanza intimidatorio e difficile da risolvere. Tuttavia, di solito si riduce ad alcune impostazioni chiave, che possono essere facilmente controllate e corrette.
Ispeziona il file wp-config.php del tuo sito WordPress
Le impostazioni per il database sono memorizzate nel file di configurazione di ogni installazione di WordPress. Si chiama wp-config.php e si trova nella directory principale del tuo sito.
Per controllare il file, accedi alle cartelle del sito tramite FTP o il tuo pannello di hosting. Se sei un utente SiteGround, vai a Site Tools > Sito > Gestione File.
La cartella principale di ogni sito web è la directory tuodominio.com/public_html. Nel nostro esempio, il nome del sito è sg-testing.com, quindi la cartella è sg-testing.com/public_html.
Prima di apportare modifiche, è meglio fare un backup del file per ogni evenienza. Per farlo, fai clic con il pulsante destro del mouse sul file, seleziona Copia, e rinomina la versione copiata in wp-config-backup.php.
Dopo aver creato la copia di backup, seleziona il file wp-config.php e scegli Modifica.
Il nome del database, l’utente, la password e l’host sono definiti nelle seguenti righe di codice:
// ** Impostazioni database - Puoi ottenere queste informazioni dal tuo host web ** //
/** Il nome del database per WordPress */
define( 'DB_NAME', 'nome_del_database_qui' );
/** Nome utente database */
define( 'DB_USER', 'nome_utente_qui' );
/** Password del database */
define( 'DB_PASSWORD', 'password_qui' );
/** Nome host del database */
define( 'DB_HOST', 'localhost' );
I valori di ogni impostazione devono corrispondere al database esistente, all’utente e alla password nel server MySQL del sito. Dopo aver applicato le modifiche, premi l’icona Salva (disco floppy).
Imposta il nome host corretto del database
Il server MySQL è definito dalla riga di codice:
define( 'DB_HOST', 'localhost' );
In genere, l’host del database si trova sullo stesso server dei file del sito web. Pertanto, il valore è “localhost” o “127.0.0.1” e l’intera riga sarà:
define( 'DB_HOST', 'localhost' );
o
define( 'DB_HOST', '127.0.0.1' );
Se hai impostato un host di database remoto, devi sostituire questi valori con il nome host corretto del server remoto.
Imposta il nome corretto del database
Dopo che l’host è stato stabilito, controlla i dettagli del database nel server MySQL. Gli utenti di SiteGround possono accedere facilmente alle impostazioni del database MySQL da Site Tools > Sito > MySQL.
Per confrontare più facilmente le impostazioni del file wp-config.php con i dettagli del database MySQL, apri la sezione MySQL in una nuova scheda del browser facendo clic con il pulsante destro del mouse su di essa e selezionando Apri link in un’altra scheda.
I database esistenti sul server MySQL sono elencati nella scheda Database sotto Gestisci il database.
Il database elencato deve corrispondere a quello definito nel file wp-config.php.
Copia il nome del database da MySQL > Database e incollalo nella riga di codice in wp-config.php :
define( 'DB_NAME', 'nome_del_database_qui' );
Imposta il nome utente corretto del database
Per vedere l’utente per il database, fai clic sul link sotto la colonna Utenti del database.
Apparirà una finestra pop-up che elenca tutti gli utenti con privilegi per modificare il database del sito web. Evidenzia il nome utente sotto la colonna Utente e copialo.
Torna alla modifica del file wp-config.php e incolla il nome nella riga:
define( 'DB_USER', 'nome_utente_qui' );
Se non ci sono utenti collegati al database, non ci sarà alcun collegamento sotto la colonna Utenti. Clicca sull’icona Aggiungi nuovo utente sotto la colonna Azioni per aggiungere un utente esistente al database del sito.
Nella finestra popup, seleziona uno dei nomi dal menu a discesa Utenti, controlla il pulsante di opzione Tutti i privilegi, e premi Conferma.
Dopo che l’utente è stato collegato al database, puoi copiare il suo nome e incollarlo nel file wp-config.php .
Se non ci sono utenti esistenti, apri la sezione Site Tools > Sito > MySQL > Utenti. Puoi creare un nuovo utente premendo il pulsante Crea Utente.
Il nuovo nome utente apparirà nella sezione Gestisci utenti nella scheda Utenti. Clicca sull’icona Aggiungi nuovo database per collegare l’utente al database del sito.
Nella finestra pop-up, seleziona il database del sito web, controlla il pulsante di opzione Tutti i privilegi, e premi Conferma.
È quindi possibile copiare il nuovo nome utente e incollarlo nella rispettiva riga in wp-config.php.
Imposta la password dell’utente del database corretta
Dopo aver aggiunto l’utente in wp-config.php, devi assicurarti che la password dell’utente nel file corrisponda alla sua controparte in MySQL . Copia la stringa della password dalla riga in wp-config.php:
define( 'DB_PASSWORD', 'password_qui' );
Dopo aver copiato la password, torna a Sito > MySQL > Utenti, premi menù kebab, e seleziona Cambia Password.
Incolla la password nel campo Nuova password e premi Conferma.
L’errore dovrebbe scomparire quando si ricarica il sito se tutte le credenziali sono impostate correttamente.
Controlla se l’utente del database ha i privilegi corretti
Per controllare i privilegi dell’utente, vai a Site Tools > Sito > MySQL > Utenti, e trova l’utente nella sezione Gestisci utenti. Clicca sul link sotto la colonna Accesso al database, che apre una nuova finestra pop-up.
Premi l’icona Gestisci accesso per aprire una nuova finestra in cui le opzioni di accesso sono gestite.
Per impostare tutti i permessi necessari, seleziona il pulsante di opzione Tutti i privilegi e fai clic sul pulsante Conferma.
Riparare il database
Se il tuo database è danneggiato, devi ripararlo e, fortunatamente, WordPress ha una modalità di riparazione integrata.
Per attivarlo, devi modificare il file wp-config.php del tuo sito web tramite FTP o il tuo pannello di controllo di hosting.
Gli utenti di SiteGround possono modificare il file navigando su Site Tools > Sito > Gestione File. Il file si trova nella directory principale del sito, che è tuodominio.com/public_html (dove è necessario sostituire tuodominio.com con il proprio dominio).
Seleziona wp-config.php e premi Modifica.
Appena sopra la riga “/* That’s all, stop editing! Happy publishing. */” , aggiungi il seguente codice:
define('WP_ALLOW_REPAIR', true);
Confermare le modifiche premendo l’icona Salva.
Per caricare la modalità di riparazione, apri la pagina https://tuodominio.com/wp-admin/maint/repair.php nel tuo browser, dove tuodominio.com viene sostituito con il nome del tuo sito web. Ad esempio, il nostro è sg-testing.com, quindi l’indirizzo sarebbe https://sg-testing.com/wp-admin/maint/repair.php.
Scegli tra le due opzioni Riparazione database e Riparazione ed ottimizzazione del database, e una volta terminata la manutenzione, ricarica la homepage del tuo sito. Una volta confermato che l’errore è stato corretto, rimuovi il codice aggiunto in wp-config.php in modo che nessun altro possa eseguire la modalità di riparazione.
Ispeziona l’URL del sito WordPress nel database
L’errore ti impedirà di accedere alla dashboard in cui è impostato l’URL del sito web. Tuttavia, è possibile utilizzare phpMyAdmin per modificare le tabelle in cui sono definite queste impostazioni.
Gli utenti di SiteGround possono raggiungere lo strumento navigando su Site Tools > Sito > MySQL > PHPMYADMIN > ACCEDI A PHPMYADMIN.
Clicca sul database del sito nella colonna a sinistra e apri la tabella wp_options .
Gli URL del sito web sono definiti nelle opzioni siteurl e home. Premi Edit su ciascuno, imposta l’URL del sito corretto nel campo option_value e conferma la modifica con il pulsante Go.
Ripristina un backup del sito
Se hai riscontrato l’errore dopo un trasferimento manuale, assicurati di esportare un nuovo backup completo del sito web dall’hosting precedente e importarlo di nuovo nel nuovo hosting.
Se il sito non è stato trasferito e l’errore viene visualizzato all’improvviso, la scelta migliore è ripristinare il sito da un backup recente. Guarda questo tutorial per lo strumento Backup di SiteGround.
Contatta il tuo fornitore di hosting
Le soluzioni descritte sopra funzionano se il problema deriva dalla configurazione del sito web. Tuttavia, WordPress potrebbe non riuscire a connettersi al database se il server MySQL è sovraccarico o in manutenzione.
Se gestisci il tuo server, considera il riavvio del servizio MySQL per cancellare eventuali query bloccate sul database che lo sovraccaricano.
Gli utenti con hosting gestito non hanno questo tipo di accesso. Contatta il team di supporto del tuo provider in modo che possano controllare lo stato del server e risolvere i problemi dalla loro parte.
Riepilogo
“Errore nello stabilire una connessione al database” è un errore WordPress diffuso che potresti incontrare di tanto in tanto. In poche parole, ti informa che il tuo sito non può connettersi con il suo database.
Durante questo periodo, il tuo sito non è accessibile e dovrai ripararlo prima di perdere traffico sostanziale. Ma non preoccuparti, ci sono solo un piccolo numero di cause e, con un po’ di analisi dei problemi, possono essere facilmente risolte.
Questa guida ha delineato le cause più comuni dell’errore. Seguendo attentamente le istruzioni, puoi essere sicuro di riportare online il tuo sito web in pochissimo tempo.