Ich habe es geschafft, die "Sessions" -Tabelle in einer mysql-db, die ich habe (was "e_learning_resource_prelive" heißt), zu korrumpieren (oder etwas). Dies wäre normalerweise kein Problem, da ich einfach zu einem Backup-Dump der db zurückkehren könnte. Die beschädigte Tabelle scheint mich jedoch daran zu hindern, die Datenbank zu löschen:
%Vor%Wenn ich in die db gehe, wird die Sitzungstabelle in show_tables angezeigt (es ist die einzige da, der mysqladmin drop löschte den Rest), aber ich kann es nicht fallenlassen:
%Vor%Kann mir jemand sagen, wie ich diese Tabelle löschen kann, oder die ganze db? Ich muss die db löschen und dann von meinem Backup-Dump neu erstellen.
Es hat sich herausgestellt, scheint jetzt offensichtlich. Die dbs haben alle nur einen Ordner, der gelöscht werden kann wie alles andere.
sudo rm -r / var / lib / mysql / e_learning_resource_prelive
Danke an alle, die trotzdem geschaut haben :) max
session
ist ein reserviertes Keyword ( Ссылка ), ich denke, das ist der Grund, warum Sie Datenbank ist beschädigt.
Ich hatte das gleiche Problem mit einem reservierten Schlüsselwort ( references
in meinem Fall), und ich hatte auch das Problem, dass das Umbenennen, Löschen oder Abschneiden der Tabelle einen SQL-Fehler ergab.
Um dieses Problem zu beheben, verwenden Sie in der alter table-Abfrage Backtick-Zeichen.
%Vor%Auf diese Weise wird die Abfrage nicht fehlschlagen, und Ihre Daten sind immer noch da (Gott sei Dank!). Ich hoffe jemand findet das nützlich!
Tags und Links mysql mysqladministrator