Ich hatte ein ähnliches Problem wie @CraigWalker unter Debian: Meine Datenbank befand sich in einem Zustand, in dem ein Fehler aufgetreten ist, DROP TABLEweil die Tabelle nicht gefunden werden konnte, aber auch ein Fehler , CREATE TABLEweil 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 MyISAMund einigen InnoDBTabellen enthielt
cp -a /var/lib/mysql/sometable /var/lib/mysql/test
(Dies wird nicht empfohlen!)
Alle InnoDB-Tabellen waren in der neuen Datenbank testin phpmyadmin nicht sichtbar .
sudo mysqladmin flush-tables hat auch nicht geholfen.
Meine Lösung: Ich musste die neue Testdatenbank mit löschen drop database testund mysqldumpstattdessen kopieren mit :
mysqldump somedatabase -u username -p -r export.sql
mysql test -u username -p < export.sql