MySQL: Wie kann ich eine zuvor gespeicherte Kopie des Datenverzeichnisses wiederherstellen?

2

Ich habe zuvor eine Kopie des Verzeichnisses / var / lib / mysql / ddms gespeichert ("ddms" ist der DB-Name). Jetzt habe ich ein neues MySQL auf einem frisch installierten Ubuntu 10.04.3 LTS installiert apt-get install mysql-server, ich glaube Version 5.1 wurde installiert. Nachdem ich das Verzeichnis ddms unter / var / lib / mysql kopiert habe, funktionieren einige seiner Tabellen einwandfrei. Dies sind die Tabellen mit einem zugehörigen Satz von drei Dateien: eine .frm-Datei, eine .MYD-Datei und eine .MYI-Datei.

Es gibt jedoch zwei Tabellen mit unterschiedlichen Dateigruppen: eine .frm-Datei und eine .ibd-Datei. Diese beiden Tabellen wurden in der Tabellenliste in phpMyAdmin nicht angezeigt. Wenn ich mir das Fehlerprotokoll ansehe, heißt es:

[ERROR] Cannot find or open table ddms/dictionary_item from
the internal data dictionary of InnoDB though the .frm file for the
table exists. Maybe you have deleted and recreated InnoDB data
files but have forgotten to delete the corresponding .frm files
of InnoDB tables, or you have moved .frm files to another database?
or, the table contains indexes that this version of the engine
doesn't support.

Bitte helfen Sie bei der Wiederherstellung dieser beiden Tabellen. Vielen Dank.

Tong Wang
quelle

Antworten:

1

Nun, ich war ziemlich verärgert, als ich diesen Fehler nach dem Upgrade von xampp selbst sah.

Ich habe es behoben, indem ich eine ältere Version von xampp in ein anderes Verzeichnis (das eine ältere Version von mysql enthielt) installiert und mich dann wieder bei phpmyadmin angemeldet habe. Ich konnte dann die Datenbanken exportieren, die in der neueren Version nicht funktionierten. (Meine Tabellen funktionierten in der alten Version, aber nicht in der neuen Version)

Hinweis Dies war eine Windows-Installation. Meine alte Version war xampp 1.7.7, in der MySQL MySQL Server 5.5 war

relipse
quelle