Dover diagnosticare i problemi e riparare il database di WordPress è una cosa che può capitare a molti.

Se vedete un messaggio di errore che vi dice che non è possibile la connessione al vostro database o che alcuni file sono corrotti, allora ci sono buone probabilità che abbiate un problema con il vostro database WordPress.

Ma come si ripara il database WordPress?

In questo articolo vi mostreremo come diagnosticare i problemi con il vostro database WordPress e come risolverli. Imparerete anche come evitare che i problemi del vostro database WordPress si ripetano in futuro.

Date un’occhiata alla nostra video guida per risolvere gli errori di database e PHP di WordPress:

Come Sapere Se il Vostro Database WordPress Ha Bisogno di Essere Riparato

Come utenti di WordPress, probabilmente vi imbatterete nella vostra parte di errori di WordPress. È quasi impossibile gestire un sito web e non incontrare occasionalmente un problema. Ma come fare a sapere che il problema è proprio il database?

Ecco alcuni indizi che vi faranno capire che avete un problema con il vostro database:

L’errore che parla di un problema di connessione al database è probabilmente uno dei messaggi di errore più comuni che vedrete sul vostro sito WordPress. Fa paura quasi quanto la cosiddetta schermata bianca della morte che appare quando c’è un problema con il codice.

Error establishing database connection
Messaggio di errore: Error establishing database connection

Risolverlo può essere abbastanza semplice, però.

Diamo un’occhiata alle ragioni che possono causare problemi al database prima di approfondire i vari modi in cui potreste aver bisogno di risolvere il problema.

6 Ragioni Comuni Per Cui il Vostro Database Deve Essere Riparato

Ecco alcune delle cause più comuni di problemi di database. Per alcuni, vedrete un messaggio di avvertimento specifico. Per altri, vedrete il messaggio generico relativo alla connessione al database.

Diamo un’occhiata agli scenari più comuni e poi come riparare il vostro database WordPress.

1. Credenziali del Database Errate

Questa è forse la causa più comune di un problema di connessione al database WordPress e, per fortuna, la più facile da risolvere.

Dovrete solo fare una semplice modifica al vostro file wp-config.php o usare un plugin per fare la correzione se non volete mettere mano al codice. Ecco come controllare le credenziali del database in MyKinsta.

2. Problemi di Connessione

Una delle cause di un database inaccessibile è un problema di connessione al vostro server. Se utilizzate un hosting a basso costo, potreste scontrarvi con problemi di server che è lento o non risponde. Un buon fornitore di hosting vi darà una garanzia di uptime, il che significa che questo non dovrebbe essere la causa del vostro problema.

Ma vale la pena di verificare con il vostro fornitore di hosting la presenza di problemi sul server.

3. Limite di Memoria PHP Superato

Questo è un errore che, secondo la mia esperienza, si verifica più spesso quando si caricano i media sul sito.

Significa che avete sovraccaricato il limite di memoria impostato per il vostro sito. Si risolve con una modifica del codice e di alcune impostazioni con il vostro fornitore di hosting oppure usando un plugin.

4. Tabelle del Database Corrotte

Se le tabelle del vostro database sono corrotte, dovrete ripulire il vostro database. Se le vostre credenziali sono corrette, se non ci sono problemi di connessione e non avete superato il vostro limite di memoria PHP, un database corrotto è il colpevole più probabile.

Potete correggere le tabelle di database corrotti con phpMyAdmin (vedremo come).

5. File Corrotti

Se nella vostra installazione di WordPress avete dei file che si sono corrotti, questo potrebbe causare problemi nel vostro database. Il problema potrebbe essere dovuto ad un problema con il plugin i cui file sono corrotti o a una modifica che è stata fatta da uno degli sviluppatori (ecco dove trovare e ingaggiare i migliori sviluppatori WordPress).

A breve daremo un’occhiata alle opzioni che avete a disposizione per correggere i file corrotti.

6. Il Vostro Sito o Database È Stato Violato

Abbiamo deliberatamente lasciato questo punto per ultimo perché è quello che più probabilmente vi spaventerà: il vostro sito o database WordPress potrebbe essere stato violato. Tuttavia, se il vostro database ha problemi a causa di un hackeraggio, risolverli non è così difficile come si potrebbe pensare.

Potete farvi aiutare dal vostro fornitore di hosting (Kinsta vi aiuterà in qualsiasi caso di hacking) o potete risolvere da soli.

Ora è il momento di crackare il database!

Come Riparare il Database WordPress

Dato che ora conoscete le cause comuni dei problemi di database, forse vi state ponendo questa domanda: come posso riparare il mio database WordPress?

Le misure esatte da adottare dipenderanno dalla natura del problema. Passiamo prima ai passi più semplici, perché questi risolveranno i problemi più comuni.

Se avete già individuato un problema più grave nel vostro database, passate alla sezione pertinente.

Iniziate Con il Backup

Qualunque sia il passo che farete per riparare il vostro database, dovreste sempre iniziare facendo un backup del vostro sito.

Utilizzate un plugin di backup o andate sull’interfaccia del provider di hosting e fate un backup manuale. Kinsta esegue automaticamente il backup dei siti WordPress ogni giorno, ma è anche possibile effettuare un backup manuale o aumentare la frequenza se necessario.

Come Utilizzare un File di Log del Database per Diagnosticare gli Errori del Database WordPress

Il primo passo è quello di visualizzare il registro (log) degli errori e identificare il problema. Ci sono tre opzioni per farlo:

Questo è il modo più semplice per accedere al visualizzatore di log in MyKinsta:

Log Viewer di MyKinsta
Log Viewer di MyKinsta

I log vi diranno cosa sta succedendo sul vostro sito e quali errori si sono verificati. Potete usarli per diagnosticare il problema di connessione al database.

Una volta capito il problema, correggetelo con la soluzione pertinente. Oppure, se non siete in grado di farlo, lavorate su queste correzioni seguendo l’ordine qui sotto, visto che iniziamo con le più semplici e comuni.

Come Modificare le Credenziali del Database WordPress

La causa più comune di un errore nella creazione di una connessione al database sono le credenziali di accesso errate.

Per modificare le credenziali del vostro database, fate una copia di backup del vostro file wp-config.php e aprite quello originale. Fare un backup è essenziale nel caso in cui si commetta un errore che potrebbe peggiorare le cose.

Troverete il file wp-config.php nella directory principale della vostra installazione WordPress. Per accedervi, connettetevi al vostro sito tramite SFTP.

Il file contiene quattro informazioni che devono essere corrette se il vostro sito si connette correttamente al vostro database. Queste sono:

  • Nome del database.
  • Nome utente del database MySQL.
  • Password del database MySQL.
  • Hostname MySQL.

Nel vostro file wp-config.php, queste quattro informazioni avranno questo aspetto:

// ** MySQL settings - You can get this info from your web host ** //

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

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

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

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

Per trovare le credenziali corrette del database, è necessario controllare le schermate di amministrazione con il provider di hosting o trovare l’email che avete ricevuto originariamente quando avete impostato il vostro account di hosting.

Se siete utenti Kinsta, potete trovare facilmente le credenziali del database in MyKinsta. In particolare, andate su Sites e poi seleziona il sito con cui volete lavorare. Dopo di che, scorrete fino alla sezione Database Access per trovare i dettagli relativi al vostro database.

Accesso al database in MyKinsta
Accesso al database in MyKinsta

Potete trovare le credenziali del vostro database anche in phpMyAdmin, al quale potete accedere tramite cPanel se questa è l’interfaccia messa a disposizione dal vostro fornitore di hosting.

Una volta aggiornate correttamente le credenziali del database, salvate il vostro “nuovo” file wp-config.php, chiudetelo e provate ad accedere nuovamente al vostro sito.

Se ancora non riuscite ad accedere al database, continuate a leggere per provare le altre soluzioni.

Come Utilizzare WP_ALLOW_REPAIR per Riparare il Database WordPress

La prossima opzione è quella di istruire WordPress per risolvere eventuali problemi con il vostro database. Lo potete fare aggiungendo una riga nel file wp-config.php.

Aprite il file e cercate questa riga:

/* That's all, stop editing! Happy blogging. */

Aggiungete questa riga immediatamente sopra la precedente:

define ('WP_ALLOW_REPAIR', 'true');

Ora, salvate il vostro file wp-config.php e chiudetelo.

Anche in questo caso, assicuratevi di creare prima una copia di backup del file wp-config.php, non si sa mai.

Il passo successivo è quello di visitare la pagina di riparazione del database. La troverete su http://your-site.com/wp-admin/maint/repair.php. Sostituite your-site.cpom con il dominio del vostro sito web.

Questo vi porterà alla pagina di riparazione del database:

Pagina di riparazione del database
Pagina di riparazione del database

Qui avete due opzioni:

  • Riparare il database
  • Riparare e ottimizzare il database

Se scegliete di ottimizzarlo oltre che ripararlo, WordPress passerà in rassegna le tabelle del vostro database e le ottimizzerà per rendere il vostro sito più efficiente.

Fate clic su uno di questi due pulsanti e attendete che WordPress corregga il vostro database. Ora il vostro sito dovrebbe funzionare correttamente.

Una volta finito, non dimenticate di rimuovere la riga che avete appena aggiunto al vostro file wp-config.php.

E se neppure questo dovesse funzionare? Il passo successivo è quello di andare su phpMyAdmin e cercare di riparare il vostro database da lì.

Come Riparare il Database WordPress in phpMyAdmin

Allora, avete provato le opzioni di cui sopra e il vostro database ancora non si connette. Proviamo a sistemarlo tramite phpMyAdmin.

Se non siete a vostro agio nell’accedere direttamente al vostro database, potreste preferire l’uso di un plugin per questo. Alcuni dei plugin che è possibile utilizzare per riparare il database di WordPress sono elencati più avanti in questo articolo.

È possibile accedere a phpMyAdmin attraverso le schermate di amministrazione del vostro fornitore di hosting. In MyKinsta ci si arriva facendo clic su Sites, selezionando il sito con cui si vuole lavorare e poi facendo clic sul linkOpen phpMyAdmin.

Accesso a phpMyAdmin in MyKinsta
Accesso a phpMyAdmin in MyKinsta

Una volta effettuato l’accesso a phpMyAdmin, fate clic sul database che dovete riparare scegliendolo dalla lista dei database a sinistra. Le tabelle nel vostro database si caricheranno sulla destra:

Tabelle del database in phpMyAdmin
Tabelle del database in phpMyAdmin

Scorrete verso il basso e spuntate l’opzione Check All. Poi, nel riquadro With selected, selezionate Repair table.

Riparazione del database in phpMyAdmin
Riparazione del database in phpMyAdmin

Il sistema lavorerà poi attraverso le vostre tabelle del database ed effettuerà le riparazioni.

Ma cosa succede se una di queste opzioni non funziona o volete accedere al vostro sito in modo diverso? Proviamo un altro metodo.

Come Riparare il Database WordPress tramite WP-CLI

Se state usando la command line per accedere all’installazione di WordPress, è possibile utilizzare WP-CLI per riparare il database.

Per farlo, utilizzate il comando wp db repair. Questo può essere il modo più veloce per riparare il database.

Come Aumentare il Limite di Memoria PHP

Se avete problemi di accesso al database perché il limite di memoria PHP è stato superato, potete prendere provvedimenti per aumentare questo limite.

Nel file wp-config.php, cercate questa riga:

define( 'WP_MEMORY_LIMIT', 256M' );

La menzione 256M si riferisce alla quantità di memoria disponibile per l’uso. Se vedete un numero inferiore, modificatelo e aumentatelo. 256M sono normalmente sufficienti per un sito WordPress. Il numero potrebbe essere diverso nel vostro file, in quanto rappresenta il limite di memoria attuale del vostro sito. Potreste anche non trovare affatto questa riga.

Se vi trovate su un piano di hosting che non consente di avere accesso a più memoria, potreste dover aggiornare il vostro piano. Oppure potreste preferire il passaggio a un provider che vi conceda più memoria.

Come Riparare il Database WordPress Utilizzando i Plugin per la Riparazione del Database

Se non vi sentite a vostro agio a riparare il database utilizzando una delle opzioni di cui sopra, potete usare un plugin. Questo funzionerà solo se disponete di un accesso amministrativo al vostro sito.

I plugin che consentono di riparare il database includono:

Come Ottimizzare il Vostro Database WordPress

Una volta risolti i problemi del database (o prima che questi si verifichino), è una buona idea prendere provvedimenti per evitare problemi in futuro. Ecco alcuni consigli per aiutarvi a gestire il vostro database WordPress e proteggerlo da problemi futuri.

Ottimizzazione Automatica del Database di Kinsta

Noi di Kinsta eseguiamo l’ottimizzazione automatica settimanale del database per tutti i siti WordPress dei nostri clienti. Questo significa che è molto meno probabile che incontriate problemi se il vostro sito è ospitato su Kinsta.

Plugin per l’Ottimizzazione del Database

Se il vostro fornitore di hosting non ottimizza i vostri database, potete usare un plugin per occuparvene. Fra i plugin che se ne occupano ci sono:

Come promemoria: se siete clienti Kinsta, non avrete bisogno di plugin per l’ottimizzazione del database perché interferirebbero con il processo di ottimizzazione automatica che abbiamo automaticamente in atto.

Aggiungere l’Index MySQL alla tabella wp_options di WordPress

L’aggiunta dell’index MySQL alla vostra tabella wp_options (o la sua rimozione da tale tabella) può accelerare la connessione al database. Utilizzate i suggerimenti di questa guida per capire quale opzione renderà il vostro sito più veloce.

Gestione dei Database e Buone Pratiche di Sicurezza

Una buona pratica per la gestione del vostro database è molto simile alla gestione del vostro sito WordPress:

  • Fate backup regolari. Se doveste avere la necessità di riparare il vostro database, sapere di avere dei backup regolari automatizzati vi renderà le cose più facili e vi darà un po’ di tranquillità. Utilizzate un plugin di backup o, se siete clienti Kinsta, rilassatevi sapendo che sul vostro sito viene eseguito il backup ogni giorno senza che dobbiate alzare un dito.
  • Assicuratevi che il vostro database sia sempre ottimizzato e che funzioni senza problemi. Fate questa verifica tramite un plugin per l’ottimizzazione del database o scegliete un fornitore di hosting che se ne occupi per voi.
  • Non divulgate mai la password del vostro database se non vi fidate del destinatario. È insolito avere bisogno di una password del database per lavorare su un sito, quindi se vi viene chiesta, chiedete perché.
  • Se qualcun altro ha accesso al vostro database, cambiate le credenziali dopo aver finito di lavorarci e aggiornate il file wp-config.php.
  • Utilizzate solo password sicure per il vostro admin WordPress, il vostro account di hosting e il vostro accesso FTP/SFTP. Preferite SFTP a FTP quando siete su una connessione pubblica.
  • Se avete programmato un plugin che aggiunge tabelle o record al database, assicuratevi di rimuoverli quando il plugin viene cancellato. Pulite il database dopo aver cancellato i plugin che hanno aggiunto le loro tabelle.
  • Adottate misure per mantenere il vostro sito sicuro e proteggerlo dagli hacker.

Sommario

Avere un problema di connessione al database WordPress è un grattacapo e può essere scoraggiante. Ma se seguite la procedura sopra descritta, dovreste essere in grado di ripararlo e riottenere rapidamente l’accesso.

Assicuratevi di seguire le indicazioni per evitare che in futuro si verifichino problemi con il database e, auspicabilmente, evitare di dover riparare il database una seconda volta.