Ich hatte ein ähnliches Problem wie @CraigWalker unter Debian: Meine Datenbank befand sich in einem Zustand, in dem ein Fehler aufgetreten ist, DROP TABLE
weil die Tabelle nicht gefunden werden konnte, aber auch ein Fehler , CREATE TABLE
weil MySQL glaubte, dass die Tabelle noch vorhanden ist. Der kaputte Tisch existierte also noch irgendwo, obwohl er nicht da war, als ich in phpmyadmin nachschaute.
Ich habe diesen Status erstellt, indem ich einfach den gesamten Ordner kopiert habe, der eine Datenbank mit einigen MyISAM
und einigen InnoDB
Tabellen enthielt
cp -a /var/lib/mysql/sometable /var/lib/mysql/test
(Dies wird nicht empfohlen!)
Alle InnoDB-Tabellen waren in der neuen Datenbank test
in phpmyadmin nicht sichtbar .
sudo mysqladmin flush-tables
hat auch nicht geholfen.
Meine Lösung: Ich musste die neue Testdatenbank mit löschen drop database test
und mysqldump
stattdessen kopieren mit :
mysqldump somedatabase -u username -p -r export.sql
mysql test -u username -p < export.sql