У меня была проблема, похожая на @CraigWalker на debian: моя база данных находилась в состоянии, в котором произошел сбой DROP TABLE
, потому что не удалось найти таблицу, но также произошел сбой CREATE TABLE
, поскольку MySQL думал, что таблица все еще существует. Таким образом, сломанный стол все еще где-то существовал, хотя его не было, когда я посмотрел в phpmyadmin.
Я создал это состояние, просто скопировав всю папку, содержащую базу данных с некоторыми MyISAM
и некоторыми InnoDB
таблицами
cp -a /var/lib/mysql/sometable /var/lib/mysql/test
(это не рекомендуется!)
Все таблицы InnoDB, где они не видны в новой базе данных test
в phpmyadmin.
sudo mysqladmin flush-tables
тоже не помогло.
Мое решение: Мне пришлось удалить новую тестовую базу данных с помощью drop database test
и скопировать ее с помощью mysqldump
вместо:
mysqldump somedatabase -u username -p -r export.sql
mysql test -u username -p < export.sql