2010-04-08 32 views
19

Załóżmy, że następujące pliki MySQL zostały odtworzone z taśmy kopii zapasowej:Jak ponownie utworzyć tabelę InnoDB MySQL z pliku .ibd?

  • tablename.frm
  • tablename.ibd

Ponadto zakładamy, że instalacja MySQL został uruchomiony z innodb_file_per_table i że baza była czysto shutdown z mysqladmin shutdown.

Biorąc pod uwagę nową instalację z tej samej wersji MySQL, że przywrócone pliki MySQL zostały zaczerpnięte z, jak mogę importować dane from tablename.ibd/tablename.frm w to nowa instalacja?

+0

Nie jestem pewien, czy jest to możliwe, ponieważ nawet jeśli innodb używa pliku na tabelę, w głównym pliku idbdata nadal jest jakiś plik, który jest powiązany z istniejącymi tabelami. –

+0

Omry: Technicznie powinno być możliwe AFAIK. Proszę, udowodnij, że się mylę :-) – knorv

+3

To nie pasuje, nie jest związane z programowaniem. Przejdź do Exchange DBA. Istnieje już kilka podobnych pytań ... http://dba.stackexchange.com/questions/16875/mysql-how-to-restore-table-stored-in-a-frm-and-a-ibd-file – Cylindric

Odpowiedz

-1

To nie musi działać we wszystkich przypadkach. Ale tak to działa w niektórych przypadkach ...

Najpierw zatrzymaj wszystkie usługi związane z wampirem lub xampp, których używasz.

Następnie skopiuj i przeszłości tablename.frm, tablename.ibd

plików w mysql/data/database nazwa folderu. , a następnie uruchom wszystkie usługi ponownie. tablet utworzony w tym DB.

+0

Możesz to zrobić tylko z typem tabeli MyISAM (tablename.frm tablename.MYD tablename.MYI) InnoDB wyświetli tylko nazwy tabel bez zawartości. Typ tabeli InnoDB jest bezpiecznie złożony. link pomocy: http://stackoverflow.com/questions/5745221/import-frm-and-opt-files-to-mysql –

3

Podobna odpowiedź znajduje się tutaj. Proszę spojrzeć https://stackoverflow.com/a/10943833/3985205

Tak jest to możliwe. Nie wystarczy skopiować pliki .frm do folderu databse, ale trzeba również skopiować pliki ib_log i ibdata do swojego folderu z danymi. Właśnie skopiowałem pliki .frm i skopiuję te pliki i po prostu zrestartuję serwer, a moja baza danych zostanie przywrócona.

0

Zamieściłem właściwe rozwiązanie, gdy stracił ib_logfiles i ibdata plik i masz tylko .frm i .idb plików.

Proszę spojrzeć na mój komentarz na ten link:

Restore table structure from frm and ibd files

To będzie pracować dla ciebie.

Dziękuję.