phpMyAdmin
 sql >> Database >  >> Database Tools >> phpMyAdmin

come ripristinare le mie tabelle MYI, MYD da .FRM

Il .frm i file contengono solo metadati sulla struttura della tabella. Non contengono i tuoi dati.

Per una tabella MyISAM, il .MYD il file è fondamentalmente la tabella (senza metadati o indici); se è sparito, i tuoi dati sono spariti. Probabilmente c'è un modo per generare file "vuoti" e ricominciare da capo, ma sì. Senza di loro, non hai dati.

Il .MYI i file contengono indici, AFAIK. Quelli possono essere rigenerati, ma non senza i dati.

Se le tue tabelle fossero tabelle InnoDB, tuttavia, potresti essere fortunato. Non ci sarà un .MYD o .MYI per le tabelle InnoDB; i dati che sarebbero stati in essi saranno invece in ibdata1 . Potresti essere in grado (dopo aver fermato mysqld) di intrufolare semplicemente il .frm e ib* file nelle posizioni corrette e lascia che mysqld li veda al riavvio.

Ovviamente, questo non funzionerà se hai già File di dati InnoDB -- o meglio, se lo fa, finirai per perdere tutte le tabelle InnoDB esistenti. In tal caso, tuttavia, potresti inserire i file in un'altra directory e avviare un'istanza mysqld che punta a quella directory. Questo ti basterebbe per mysqldump una tabella come SQL, quindi puoi importarla nel nuovo database.