Recupero di file e tabelle del database MySQL: suggerimenti e tecniche

Scopri come recuperare file MySQL e tabelle del database con facilità in questa guida completa. Trova istruzioni passo dopo passo e consigli essenziali per recuperare senza problemi i tuoi dati preziosi. Approfondisci le tecniche di recupero dei file MySQL e delle tabelle del database ed esplora strategie pratiche per massimizzare le probabilità di successo del ripristino. Non lasciare che la perdita del database ti crei stress!

Per impostazione predefinita, un database MySQL viene installato nel disco C del computer:

C:/Program Files/MySQL/MySQL Server 5.7

Tuttavia, i dati delle tabelle sono memorizzati in file situati in un’altra cartella nel disco C del tuo computer, ossia:

C:/ProgramData/MySQL/MySQL Server 5.7/Data

La posizione di questi file è mostrata nel menu Server Status dell’applicazione MySQL Workbench, nella sezione Server Directories.

Recupero di file e tabelle del database MySQL: suggerimenti e tecniche

Nel caso in cui sia necessario recuperare le tabelle del database, ci interesserà una cartella contenente i dati di uno specifico database e i file che si trovano al suo interno.

Vai a vedere
Le Migliori Programmi per Recuperare Documenti Cancellati (Microsoft Office, OpenOffice e altri)

Le Migliori Programmi per Recuperare Documenti Cancellati (Microsoft Office, OpenOffice e altri)

File del database MySQL

MySQL è compatibile con diversi formati di file come .sql, .arm, .cnf, .dbs, .ddl, .frm, .ibd, .ism, .mrg, .myd, .myi, .mysql, .opt, .phl, .sal, .sqr, .tmd, .arz, .ibz, .ibc, .qbquery, .rul. Tuttavia, questo non è l’argomento di questo articolo. Oggi ci interessano i file in cui sono memorizzati i dati e le tabelle; recuperando tali file, un utente può ottenere nuovamente informazioni importanti ed evitare di perderle in futuro.

I dati di ogni database sono memorizzati in una cartella con il suo nome e a seconda del tipo di tabella, le tabelle sono salvate in file con le seguenti estensioni:

  • db.opt – il file che memorizza le caratteristiche di un database specificate al momento della creazione del database;
  • .frm – il file della struttura della tabella;
  • .myd – il file in cui sono memorizzati i dati delle tabelle MyISAM;
  • .myi – il file in cui sono memorizzati gli indici delle tabelle MyISAM;
  • .ibd – il file in cui sono memorizzati i dati e gli indici delle tabelle InnoDB.
my_db. I dati di ogni database sono memorizzati in una cartella con il suo nome
my_db. A seconda del tipo di tabella, le tabelle sono memorizzate in file con le seguenti estensioni...

Come recuperare un database MySQL

Il recupero di un database MySQL non è difficile dal punto di vista tecnico, ma dipende da una serie di condizioni. Per gli utenti di MySQL Workbench esiste una funzione di Export e Import/Data Restore per i database.

MySQL Workbench

Inoltre, può essere creata una copia di backup e un database MySQL può essere ripristinato con mysqldump (di cui abbiamo parlato in dettaglio in uno dei nostri articoli).

mysqldump

cmd. Il database MySQL può essere ripristinato con mysqldump

Tuttavia, queste funzioni si applicano principalmente alla creazione di backup dei dati MySQL con gli strumenti integrati. Gli utenti avanzati o coloro che non hanno utilizzato le funzioni di backup per i database MySQL saranno anche interessati a come creare backup e ripristinare i database manualmente, utilizzando i file di struttura e i file dei dati delle tabelle menzionati sopra:

  • La creazione di una copia di un database MySQL è possibile copiando i file di struttura e i file dei dati (*.opt, *.frm, *.myd, *.myi per MyISAM; *.opt, *.frm, *.ibd per InnoDB) e salvandoli in un'altra cartella.
  • È possibile recuperare le informazioni delle tabelle di un database MySQL inserendo i file di struttura e i file dei dati precedentemente copiati nelle cartelle di database già esistenti (nel nostro caso, si tratta di due database: my_db e my_db2).

Recupero di un database MySQL perso o eliminato

Se per qualche motivo hai eliminato un database MySQL, reinstallato Windows o formattato un disco rigido, tutto può essere ripristinato usando il metodo descritto sopra, inserendo i file del database precedentemente copiati nella cartella con il nome del database:

C:/ProgramData/MySQL/MySQL Server 5.7/Data

Se l'utente non ha creato una copia dei file del database in precedenza, questi possono essere recuperati con Hetman Partition Recovery, e poi inviati nella cartella necessaria utilizzando il metodo descritto sopra.

Lo strumento recupera i file da qualsiasi dispositivo, indipendentemente dal motivo della perdita di dati.

Per farlo:

  • Esegui Hetman Partition Recovery e scansiona il disco in cui era memorizzato il database MySQL

    Hetman Partition Recovery. Scansiona il disco in cui era memorizzato il database MySQL
  • Usando il programma, vai alla cartella C:/ProgramData/MySQL/MySQL Server 5.7/Data,

    Hetman Partition Recovery. Usando il programma, vai alla cartella C:ProgramDataMySQLMySQL Server 5.7Data

    o trova i file del database necessari con la funzione di ricerca:

    Hetman Partition Recovery. Trova i file del database necessari con la funzione di ricerca

    Nota: i file contenenti i dati e i formati delle tabelle avranno lo stesso nome della tabella, non del database.

  • Recupera i file del database

    Hetman Partition Recovery. Recupera i file del database
  • Copiali nella cartella con il nome del database

    my_db2. Copia i file del database recuperati nella cartella con il nome del database
  • Quando avvierai MySQL Workbench dopo ciò, i file delle tabelle ripristinati che hai inserito nella cartella del database saranno ora accessibili.

    MySQL Workbench. Quando avvii MySQL Workbench, i file delle tabelle ripristinati che hai inserito nella cartella del database saranno ora accessibili

    Allo stesso modo, puoi recuperare file di dump persi (*.sql) o il loro archivio (*.zip, *.gzip, *.bzip2).

Recuperare database MySQL danneggiati con l'aiuto di Myisamchk

Le tabelle MyISAM di un database MySQL possono danneggiarsi a seguito di un'interruzione improvvisa di un processo di scrittura o dello spegnimento del computer, errori e guasti hardware e software, e anche quando si tenta di eseguire il debug della tabella utilizzata dal server mediante myisamchk.

A seguito del danneggiamento, i dati possono scomparire dalla tabella o essere rappresentati in modo errato, ma più spesso il danno alla tabella provoca un errore di questo tipo: «Incorrect key file for table: ‘table_name’. Try to repair it»

Per recuperare tabelle MyISAM danneggiate, puoi usare il comando myisamchk.

Myisamchk opera eseguendo il debug e creando una copia del file .myd, con la successiva sostituzione del file danneggiato con questa copia. Per questo motivo, prima di usare questo comando è consigliabile creare un backup del file della tabella che si intende recuperare.

Quindi, per recuperare una tabella danneggiata usa il comando:

myisamchk -r -q TABLE_NAME

dove, -r -q - è la modalità di recupero veloce. In questo caso, il file degli indici verrà corretto senza modificare il file dei dati. Se il file dei dati contiene tutte le informazioni necessarie e i riferimenti indicano posizioni corrette nel file dei dati, come risultato di questo comando la tabella verrà riparata.

Se il comando precedente non produce risultati, allora crea un file di backup dei dati ed esegui questo comando:

myisamchk -r TABLE_NAME

dove, -r – è la modalità di ripristino. In questo caso, le voci errate e mancanti verranno eliminate dal file dei dati e il file degli indici verrà ricreato (come descritto sopra).

Nota. Se il debug e il recupero della tabella verranno eseguiti dalla riga di comando, è necessario arrestare il server in precedenza. Va notato che eseguendo mysqladmin shutdown da un server remoto, mysqld continuerà comunque a funzionare per un certo tempo dopo lo shutdown di mysqladmin, fino a quando tutte le richieste non saranno concluse e tutte le chiavi non saranno salvate su disco.

mysqladmin shutdown

Anton Kryvoruchko

Autore: , Scrittore tecnico

Anton Kryvoruchko è traduttore dall'italiano, dall'inglese, dal francese e dal polacco. Ha molti anni di esperienza e lavora con testi di vario argomento: dalla narrativa e testi tecnici alle riviste scientifiche popolari. Lavora costantemente per migliorare le sue conoscenze e competenze, perciò nel tempo libero impara anche il tedesco e lo spagnolo.

Mykhailo Miroshnichenko

Editore: , Scrittore tecnico

Mykhaylo Miroshnychenko è uno dei programmatori principali di Hetman Software. Avendo già quindici anni di esperienza nello sviluppo di software condivide le sue conoscenze con i lettori del nostro blog. Oltre alla programmazione, Mykhaylo è anche un esperto di recupero di dati, di file system, di dispositivi di archiviazione e di array RAID.