Klingt, als hätten Sie eine tablename.ibd, aber keine tablename.frm.
Zur Überprüfung:
- cd in Ihr MySQL-Datenverzeichnis und dann den Datenbanknamen.
cd /var/lib/mysql/database_name
-
Suchen Sie nach dem Tabellennamen, der den Fehler verursacht.
ls tablename.*
Sie sollten zwei Dateien sehen:
tablename.ibd tablename.frm
Aber ich vermute, Sie tun es nicht und sehen nur
tablename.ibd
Um das Problem zu beheben, haben Sie einige Möglichkeiten:
- Fügen Sie Folgendes zu mysqldump hinzu, wodurch die Datenbank gelöscht und das Datenverzeichnis vor der Wiederherstellung bereinigt wird.
--add-drop-database
- Kopieren Sie tablename.frm von prod nach dev und setzen Sie dann eine delete table-Anweisung ab.
Auch:
- Net_buffer_length=5000 muss nicht verwendet werden, wenn Sie in eine Datei auf localhost ausgeben.
- Andere Sicherungslösungen - Percona Xtrabackup