Come gestire errori nel database MySQL

I database MySQL sono usati da molti CMS per supportare siti web. Data la possibilità che questi database siano accessibili direttamente dall’interfaccia web, possono essere più vulnerabili di altri sistemi. Ecco perché la protezione di MySQL richiede molta attenzione, non solo il minimo indispensabile. Cosa devi fare se il servizio CMS non funziona correttamente perché il database non è disponibile? Può danneggiare il tuo sito o il tuo negozio online, o creare altri problemi. Se il problema è davvero il database allora devi cercare opzioni per recuperare i dati. Voglio avvisarti subito che recuperare il database non è una soluzione semplice, può richiedere una conoscenza approfondita dei database e del linguaggio SQL.

Ad ogni modo, c’è un professionista che si prende cura di queste cose, l’amministratore del database, che significa che sono persone formate appositamente per accertarsi che il database non si “danneggi”. Hai mai sentito parlare dell’amministratore di Word, Excel e altri programmi? Solitamente non serve, ma se ci sono i database in mezzo allora sono necessari. Quindi, che fare se queste persone non sono nella tua azienda e invece ti servono?

Gli sviluppatori di App che usano database MySQL hanno provato a creare alcune opzioni di recupero. Ci sono diversi articoli riguardanti l’amministrare e recuperare database ma diversi metodi sono molto complicati. Quindi se non li capisci o si rivelassero inutili, puoi provare lo strumento universale Recovery Toolbox for MySQL  https://mysql.recoverytoolbox.com/it/, che è per il recupero semplice e efficace di database MySQL in versione InnoDB e MyISAM. Ovviamente tutto questo ha senso se non c’è un backup aggiornato del database. Può essere un dump, una copia del file, un’immagine su disco, quaalsiasi cosa. Se hai un backup smetti di leggere, non prendo in considerazione il recupero da backup.

Recupero integrato in MySQL

Quindi, cosa devi fare se il database MySQL ha smesso di funzionare:

  1. Apri il file my.cnf e imposta questo parametro: innodb_force_recovery = 1;
  2. Riavvia MySQL con questo comando: /etc/init.d/mysql restart;
  3. Fai un dump del database e  fai un pack: mysqldump db | gzip> db.sql.gz;
  4. Crea un nuovo database: mysql -e create database “new_DB”;
  5. Importa i dati: zcat database.sql.gz | mysql new_DB.

Riavviare MySQL, in questo caso, non avvia tutti i processi collegati e, in alcuni casi, ti permette di aprire vecchi database. Usando questi comandi proviamo un dump del database e poi di importarlo in un nuovo database che puoi aprire nel solito modo. Se succede, puoi cancellare il vecchio database. Comunque, se il metodo non aiuta e il vecchio database non si avvia, devi provare altri valori nel parametron innodb_force_recovery fino a 6.

Durante l’avvio normale del database, il sistema prova a avviare tutti i processi, inclusi quelli che, per esempio, sono terminati in modo non normale a causa di problemi di alimentazione. Grazie all’opzione innodb_force_recovery puoi disabilitare alcuni parametri che interferiscono con il lancio regolare del database. I numeri significano questo:

  1. Avviare MySQL non si ferma, anche se il sistema rileva pagine corrotte durante l’avvio
  2. Cancella il lancio delle operazioni in background
  3. Cancella i tentativi di riportare indietro le transazioni
  4. Rifiuta di calcolare le statistiche e usare i cambiamenti salvati
  5. Non tenere in considerazione i logs del riepilogo nell’avvio
  6. Non tenere in considerazione i parametri ib_logfiles durante l’avvio

Modi alternativi per recuperare il database

Il metodo appena descritto è molto utile, anche se, sfortunatamente, difficile per molti utenti. Ma lavorare con qualsiasi formato di database è sempre complicato. Se non vuoi editare configurazioni, aprire la linea di comando e imparare la sintassi dei comandi necessary, allora hai bisogno di uno strumento relativamente semplice. Recentemente ho usato spesso Recovery Toolbox for MySQL.

Forse questo è il metodo più facile e efficace per recuperare un database mySQL, esattamente quello che serve a un principiante. Ci sono poche opzioni: 1) Fare tutto da soli, perdendo molti giorni 2) Recuperare il database in un’ora. 3) Continuare a lavorare evitando le perdite. Usare Recovery Toolbox for MySQL è molto semplice, non devi nemmeno leggere le istruzioni, a meno che non siano istruzioni dettagliate per editare le configurazioni o simili, e tutte le azioni sono intuitive. Il programma lavora solo con una copia del database, quindi non incasinerà quell che resta del vecchio database. Sentirai la differenza nello scavare nelle impostazioni e configurazioni del server senza avere paura di fare disastri e distruggere quello che rimane.

Come recuperare un database usando Recovery Toolbox for MySQL

Per ripristinare un database MySQL danneggiato usando questo programma devi fare questo:

  1. Scarica Recovery Toolbox for MySQL dalla pagina https://mysql.recoverytoolbox.com/it/
  2. Installa e avvia il programma
  3. Scegli la cartella che contiene i file del database MySQL danneggiato
  4. Seleziona un database danneggiato dalla lista
  5. Avvia l’analisi del database selezionato
  6. Osserva il risultato del recupero: tabelle, oggetti, indirizzi
  7. Imposta un metodo per recuperare i dati
  8. Salva dati – disponibile nella versione completa

Il programma è gratuito e si installa senza registrazione. Usando Recovery Toolbox for MySQL, puoi vedere i dati recuperati gratis e valutare il lavoro. Puoi anche spiare qualche cambiamento e aggiornare un backup obsoleto. Si richiede di pagare solo se è necessario salvare dei dati, ricreare il database mYSQL e connetterlo al sistema.

Sicurezza mentre si lavora con Recovery Toolbox for MySQL

Il programma può essere installato su qualsiasi PC con Windows. Puoi installarlo in un paio di minuti e poi iniziare il recupero che, però, può richiedere molto tempo a seconda delle dimensioni del database originale. Puoi controllare l’assenza di connessioni sospette in molti modi, e il più semplice è quello di scollegare il cavo di rete. E più importante, non influenza l’efficacia del lavoro perchè Recovery Toolbox for MySQL non usa connessioni di terze parti.

C’è un metodo leggermente più complicato; installare un analizzatore del traffico del network, io consiglio WireShark e controllare dei pacchetti sospetti che stanno arrivando da Recovery Toolbox for MySQL. Ovviamente questo metodo necessita di molto entusiasmo, voglia di imparare cose nuove (il manuale di WireShark è abbastanza grande) e, più importante, tanto tempo libero. Per questo consiglio Recovery Toolbox for MySQL solo per risparmiare tempo e recuperare il database il più velocemente possibile.

La cosa più importante è che il programma lavora sempre con una copia del database originario, quindi questo metodo è più affidabile di fare cambi alle configurazioni del database e guardare che succede. Ricordati, un tentative di riparare il database può distruggerlo, e questo succede anche a chi è esperto.

Giovanni Damiano

Giovanni Damiano

Ritengo che il sapere appartenga a tutti e debba essere condiviso liberamente. Appassionato di Gaming e Tecnologia, trascorro le giornate tra videogiochi, streaming e stesura articoli!