Verschüttete Tabelle in Mysql db fallen lassen

8

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.

    
Max Williams 05.01.2010, 19:49
quelle

3 Antworten

7

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

    
Max Williams 07.01.2010 16:24
quelle
1

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!

    
Justus Romijn 06.06.2011 13:50
quelle
-1

Verwenden Sie die GUI-Schnittstelle. Es gibt wahrscheinlich einige nicht sehr gut lesbare Zeichen im sessions name.

Oder wurde die zugrunde liegende Datei im Dateisystem gelöscht? Wenn ja, versuchen Sie eine leere Datei namens sessions dort zu erstellen.

    
wallyk 05.01.2010 19:54
quelle

Tags und Links