MySQL-Fehler: „Tablespace for Table Exists. Please DISCARD before IMPORT“
Frage:
Beim Versuch, eine versehentlich gelöschte Tabelle neu zu erstellen, stoßen Benutzer auf die Fehlermeldung „Tablespace for table „database.temp“ existiert. Bitte VERWERFEN Sie den Tablespace vor dem IMPORT.“ Trotz des Versuchs, den Tabellenbereich zu löschen oder zu verwerfen, bleibt der Fehler bestehen, was darauf hinweist, dass die Tabelle nicht mehr vorhanden ist.
Antwort:
Dieses Problem tritt häufig aufgrund eines Tabellenbereichs auf full‘-Fehler im ‚innodb_file_per_table‘-Modus.
Überprüfen Sie das Verzeichnis, in dem die Tablespace-Tabellen gespeichert sind (z. B. /usr/local/var/mysql), auf eine verwaiste .ibd-Datei (z. B. table3.ibd) ohne diese übliches .frm-Gegenstück (table3.frm).
Verschieben Sie die verwaiste .ibd-Datei in eine temporäre Datei Standort:
mkdir /tmp/mysql_orphans mv /usr/local/var/mysql/table3.ibd /tmp/mysql_orphans/
Stellen Sie sicher, dass die zugrunde liegende Ursache (z. B. lang laufende Abfrage, gesperrte Tabelle) behoben wurde um weitere verwaiste Dateien zu verhindern.
Das obige ist der detaillierte Inhalt vonWarum zeigt MySQL „Tablespace for Table Exists. Please DISCARD before IMPORT' auch nach dem Löschen des Tablespace an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!