Mysql
 sql >> Database >  >> RDS >> Mysql

Come recuperare il database MySQL da file .myd, .myi, .frm

Se si tratta di tabelle MyISAM, inserire i file .FRM, .MYD e .MYI in una directory del database (ad es. /var/lib/mysql/dbname ) metterà a disposizione tale tabella. Non deve essere lo stesso database da cui provengono, lo stesso server, la stessa versione di MySQL o la stessa architettura. Potrebbe anche essere necessario modificare la proprietà della cartella (ad es. chown -R mysql:mysql /var/lib/mysql/dbname )

Tieni presente che le autorizzazioni (GRANT , ecc.) fanno parte di mysql Banca dati. Quindi non verranno ripristinati insieme ai tavoli; potrebbe essere necessario eseguire il GRANT appropriato istruzioni per creare utenti, dare accesso, ecc. (Ripristino di mysql database è possibile, ma è necessario prestare attenzione alle versioni di MySQL e alle esecuzioni necessarie di mysql_upgrade utilità.)

In realtà, probabilmente hai solo bisogno di .FRM (struttura della tabella) e .MYD (dati della tabella), ma dovrai riparare la tabella per ricostruire .MYI (indici).

L'unico vincolo è che se si esegue il downgrade, è meglio controllare le note di rilascio (e probabilmente eseguire la tabella di riparazione). Le versioni più recenti di MySQL aggiungono funzionalità, ovviamente.

[Anche se dovrebbe essere ovvio, se mescoli e abbini le tabelle, l'integrità delle relazioni tra quelle tabelle è il tuo problema; A MySQL non importerà, ma la tua applicazione e i tuoi utenti potrebbero. Inoltre, questo metodo non funziona affatto per le tabelle InnoDB. Solo MyISAM, ma considerando i file che hai, hai MyISAM]