MySql recuperare un database da server in crash

 

MySql database management

MySql . Come recuperare un database e le relative tabelle da un Server non funzionante

Sono casi rari ma capitano anche questi, ovvero: il database MySql non funziona correttamente, non abbiamo un backup aggiornato e vogliamo recuperare tutti i dati, è possibile? Forse si, ma vale la pena tentare.

 

Se siete arrivati qui, forse voi o il vostro cliente avete imparato che il backup dei dati è una cosa necessaria e che fa risparmiare lavoro e costi per tantativi di recupero.

Probilmente ce la faremo a recuparare i dati, sempre che i file interessati non abbiano subito direttamente dei danni, ecco come fare:

Preliminari

Per prima cosa assicuriamoci che i servizi di MySql siano arrestati, il nome del servizio può cambiare a seconda dell’installazione di MySql.

Il Salvataggio dati

Una volta accertato che il servizio non è in funzione possiamo eseguire un backup dei file nativi del database che troveremo nella cartella data all’interno del percorso del database, esempio:

Mysql Recupero Data 02In EasyPHP-Webserver con Windows la troveremo probabilemte in “C.|Program Files\EasyPHP-Webserver-14.1b2\binaries\dbserver\

In AppServ la troviamo probabilmente in “C:\AppServ\MySQL“.

Questi sono due esempi dunque la cartella data varia a seconda dell’installazione del Persona Web Server Utilizzato.

Comunque quello che serve a noi e recuperare tutta la cartella data.

 

Ora salviamo la cartella data su un percorso sicuro esterno all’installazione, in quanto al suo interno abbiamo tutti i file necessari per il recupero

My Sql recupero cartella Data 01

Disinstallazione Server MySql

Se ci è necessario riutilizzare la stessa macchina possiamo ora passare alla disinstallazione normale o forzata del programma, magari con tools appositi come ad esempio Revo Uninstaller, per non lasciare file orfani o impostazioni non più necessarie all’interno del registro di Windows e nel computer. Riavviare la macchina prima di procedere ad una nuova installazione.

Installazione Nuovo Server MySql

Dopo le eventuali procedure di disinstallazione e riavvio sopra elencate, possiamo procedere ad una nuova installazione del Server MySql. Terminata l’installazione è sempre consigliabile riavviare la macchina ed assicurarsi del corretto funzionamento.

Creazione del Database

una volta terminate le procedura sopra descritte possiamo procedere a riportare i dati nel nuovo server MySql, per prima cosa creiamo un nuovo database che abbia lo stesso nome del precedente.

Log Page PhpMyAdminPer accedere al servizio del database ed eseguire le impostazioni possiamo utilizzare ambienti grafici come PhpMyAdmin ma anche da shell (linea di comando).

Per praticità passerò alla spiegazione con PhpMyAdmin in quanto per i più pratici non servono le guide dei comandi da shell (almeno per questa guida).

Dunque accediamo a PhpMyAdmin attraverso un Browser e nella barra dell’indirizzo digitiamo:

https://localhost/PhPMyAdmin

Puro esempio e non è detto che funzioni, come raggiungere il PhpMyAdmin varia sempre a seconda dell’installazione del Personal Web Server.

 

PhpMyAdmin - Nuovo databaseUna volta eseguito l’accesso passiamo a creare il nuovo database attraverso l’apposita maschera che troviamo sotto il tab Database.

Il nome del database deve essere preciso al precedente, case sensitive, ovvero rispettanto maiuscole e minuscole.

Importante è anche la codifica dei caratteri, questa dobbiamo recuperla dall’installazione precedente.

 

Recupero codifica dei caratteri

Per recuperare l’esatta codifica dei caratteri dobbiamo leggerla dal file db.opt presente all’interno della cartella con il nome del database, questo nelle cartelle del database precedentemente salvate.

File db.opt

Qui sopra un esempio del contenuto del file db.opt

Arresto servizio MySql

Completata la creazione del database terminiamo il servizio MySql, attraverso shell o Tools per i servizi Windows o della Sistema Operativo Utilizzato (Linux, Mac).

Recupero Tabelle e dati precedenti

Una volta arrestato il servizio MySql, possiamo copiare i file della precedente installazione:

Cominciamo a copiare il file ibdatax dove x è il numero del database ad esempio ibdata1. Questo file lo troviamo all’interno della cartella data della precedente installazione. Poniamolo sempre nello stesso percorso, ovvero nella cartella data della nuova installazione.

Secondariamente dobbiamo copiare tutti i file all’interno della cartella con il nome del database interessato dalla vecchia installazione, tutti escluso db.opt.

Talvolta è sufficiente copiare tutti i file con estensione FRM, ma se sono presenti file con estensione IDB, MYD o MYI, copiamo anche quelli.

Riavvio del server MySql

Una volta copiati i file dalla vecchia installazione alla nuova controlliamo che tutto sia andato a buon fine.

Riavviamo il servizio MySql.

Apriamo il browser e rechiamoci su PhpMyAdmin in localhost.

Controlliamo il contenuto del database, cartelle e dati se sono corretti e visibili correttamente.

Conclusione

A questo punto il recupero è ultimato, ricordiamo di eseguire una copia di backup dei dati, sempre su PhpMyAdmin troviamo il tools esporta sia per la singola tabella che per l’intero database.

Note

Terminato il recupero e durante la fase di controllo può accadere che ci pervenga l’errore:

Illegal mix of collations (utf8_general_ci,COERCIBLE), (utf8_general_ci,COERCIBLE), (latin1_swedish_ci,IMPLICIT) for operation 'concat_ws'

In questo caso dobbiamo eseguire questi comandi sql che possono essere eseguiti da PhpMyAdmin o da shell:

per primo

ALTER DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

dove db_name è ilnome del database

ma in alcune installazioni può essere necessario anche questo comando:

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

dove table_name è il nome della tabella, esempio:

ALTER TABLE mg_unitamisura CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

Ricordo inoltre che sono disponibile per assistenze da remoto per la risoluzione del problema sotto vari ambienti e Sistemi Operativi (Linux, MAc, Windows)

Per ottenere l’assistenza è sufficiente compilare il modulo riportato qui.

 

Ticket Assistenza
Ticket Assistenza

 

 

 

 

 

 

Circa Staff

Vedi anche

Roundcube logo 200x200px

Roundcube – Webmail IMAP Client

Roundcube Webmail IMAP client   Per chi è alla ricerca di una interfaccia Web per …

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.