Se un sito WordPress non riesce a connettersi al database, viene visualizzato questo errore:

Errore nello stabilire la connessione al database

Le Cause dell’Errore nello Stabilire la Connessione al Database

Questo errore può verificarsi in diverse situazioni:

  • Le credenziali del database in wp-config.php non sono corrette. Questo è abbastanza frequente quando si migra o si installa manualmente un sito WordPress.
  • Il database del sito web è danneggiato. Anche se non è così comune, può succedere e se le credenziali del database sono corrette, questa è la seconda cosa da guardare.
  • Potrebbero esserci dei file corrotti nell’installazione di WordPress. Un’altra situazione non comune ma che può verificarsi, a volte a causa di un hack o di un problema durante la copia o il caricamento dei file.

Correggere l’Errore di Connessione al Database

Nella scheda Backup del sito in MyKinsta, fare clic sul pulsante Esegui backup ora per eseguire un backup del sito.

Controllare le Credenziali del Database

Per verificare le credenziali del database del sito, iniziate dalla scheda Info del sito in MyKinsta. Nella sezione Accesso al database troverete il nome del database, il nome utente e la password. Quinsi visualizzate il file wp-config.php del vostro sito utilizzando SFTP o SSH e confrontate i dati del database:

Nome del Database

// ** MySQL settings ** //
/** The name of the database for WordPress */
define('DB_NAME', 'xxxxxx');

Nome del Database MySQL

/** MySQL database username */
define('DB_USER', 'xxxxxx');

Password del Database MySQL

/** MySQL database password */
define('DB_PASSWORD', 'xxxxxx');

Nome Host MySQL (Server)

/** MySQL hostname */
define('DB_HOST', 'localhost');

Se qualcuno di questi dati non corrisponde, modificate il file wp-config.php con le informazioni corrette e salvate le modifiche. Se state visualizzando e modificando il file sul vostro computer locale dopo averlo scaricato con SFTP, assicuratevi di caricare il file aggiornato sul server, sovrascrivendo il vecchio file wp-config.php.

Se tutti i dati corrispondono ma l’errore persiste, passate alla sezione successiva.

Riparare un Database Corrotto

Come accennato in precedenza, questo problema non è molto frequente ma può verificarsi nel corso del tempo quando vengono aggiunte, rimosse o alterate tabelle al database da plugin e temi. Se, provando ad accedere alla bacheca di WordPress vedete il seguente errore, significa che il database è danneggiato e deve essere riparato:

Una o più tabelle del database non sono disponibili. Potrebbe essere necessario riparare il database.

Per riparare il database si hanno a disposizione diverse opzioni: con WordPress, in phpMyAdmin o utilizzando WP-CLI.

Riparare un Database con WordPress

Fortunatamente, WordPress dispone di una modalità di riparazione del database che è possibile attivare aggiungendo il seguente frammento di codice in fondo al file wp-config.php.

define('WP_ALLOW_REPAIR', true);

Dopo aver salvato la modifica, andate su https://yourdomain.com/wp-admin/maint/repair.php nel browser per aprire l’interfaccia per la riparazione del database del sito:

Riparare il database di WordPress
Riparare il database di WordPress

L’opzione Ripara database è più veloce dell’opzione Ripara e ottimizza il database. Se si tratta di un sito attivo su cui state lavorando per rimetterlo in funzione, consigliamo di scegliere l’opzione Ripara database.

Riparare un Database con phpMyAdmin

Accedete a phpMyAdmin, fate clic sul vostro database e selezionate tutte le tabelle. Dal menu a tendina in fondo alla pagina, selezionate Ripara tabella. Questa operazione equivale all’esecuzione dell’istruzione REPAIR TABLE di MySQL.

Riparazione delle tabelle del database in phpMyAdmin.
Riparazione delle tabelle del database in phpMyAdmin.

Riparare un Database con WP-CLI

Per riparare il database con WP-CLI, eseguite il seguente comando:

wp db repair

Una volta terminato, vedrete il seguente messaggio di conferma:

Success: Database repaired.

Correggere i File Corrotti

Un’altra causa meno comune di errore di connessione al database è rappresentata dai file del core di WordPress corrotti. Per verificare e risolvere questo problema, dovrete sostituire i file del core di WordPress tramite SFTP o WP-CLI.

Reinstallare il Core di WordPress con SFTP

Iniziate scaricando una nuova copia di WordPress da WordPress.org. Assicuratevi di scaricare la stessa versione che state utilizzando sul vostro sito.

Decomprimete il file scaricato sul vostro computer locale, quindi eliminate la cartella wp-content e il file wp-config-sample.php.

Collegatevi al vostro sito via SFTP e caricate i restanti file di WordPress sovrascrivendo i file esistenti.

Una volta completato il caricamento, svuotate la cache del sito e verificate che l’errore sia scomparso.

Reinstallare il Core di WordPress con WP-CLI

Per reinstallare WordPress senza sovrascrivere la directory wp-content (dove sono memorizzati il tema, i plugin e i media), eseguite il seguente comando:

wp core download --skip-content --force

Una volta completata la reinstallazione, svuotate la cache del sito e verifica che l’errore sia scomparso.

Ripristinare l’Ultimo Backup Funzionante

Se tutto questo non ha effetto, potete provare a ripristinare il vostro ultimo backup funzionante. Nota: potrebbe non essere il backup più recente se l’errore persiste da tempo.

In MyKinsta, andate alla scheda Backup del vostro sito e scegliete il backup che volete ripristinare. Se volete testare il backup in staging prima di ripristinarlo nel sito live, fate clic sul pulsante Ripristina e nel menu a discesa selezionate l’ambiente di Staging in cui desiderate ripristinare il backup.

Ripristinare un backup di WordPress nell'ambiente di staging.
Ripristinare un backup di WordPress nell’ambiente di staging.

Quando siete sicuri di voler ripristinare il backup sul vostro sito live, cliccate sul pulsante Ripristina su accanto al backup e scegli Live dal menu a tendina.

Contattare il Supporto

Se avete seguito i passaggi sopra descritti per la risoluzione dei problemi ma l’errore persiste, il nostro team di assistenza è a vostra disposizione 24/7.