Fehler: Tablespace für Tabelle existiert. Bitte VERWERFEN Sie den Tablespace vor dem IMPORT
Frage:
Beim MySQL-Benutzer ist beim Versuch, eine zuvor vorhandene Tabelle zu erstellen, ein Fehler aufgetreten. Die Fehlermeldung weist darauf hin, dass der Tablespace für die Tabelle bereits vorhanden ist und dass er vor dem Import verworfen werden sollte. Beim Versuch, die Tabelle zu löschen oder den Tablespace zu verwerfen, wird jedoch in der Fehlermeldung angegeben, dass die Tabelle nicht vorhanden ist. Was könnte dieses Problem verursachen?
Antwort:
Dieser Fehler tritt häufig auf, wenn im Modus „innodb_file_per_table“ ausgeführt wird und der Fehler „Tablespace voll“ auftritt. Der Tablespace des Datenbankservers wird durch die Einstellung „innodb_data_file_path“ definiert, die standardmäßig eingeschränkt werden kann.
In solchen Fällen ist es wahrscheinlich, dass eine verwaiste .ibd-Datei ohne die zugehörige .frm-Datei im Betriebssystemverzeichnis vorhanden ist, in dem Dateien- pro Tabelle werden gespeichert (typischerweise /var/lib/mysql oder /usr/local/var/mysql).
Lösung:
So beheben Sie das Problem:
Beispiel:
$ ls /var/lib/mysql table1.frm table1.idb table2.frm table2.idb table3.idb <-- problem table, no table3.frm table4.frm table4.idb $ mkdir /tmp/mysql_orphans $ mv /var/lib/mysql/table3.ibd /tmp/mysql_orphans/
Hinweis: Stellen Sie sicher, dass alle zugrunde liegenden Ursachen, wie z B. lang laufende Abfragen oder gesperrte Tabellen, wurde behoben, um zu verhindern, dass weitere verwaiste .ibd-Dateien entstehen erstellt.
Das obige ist der detaillierte Inhalt vonMySQL-Importfehler: Tablespace existiert, Tabelle jedoch nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!