Стол с винтом в Mysql db

Мне удалось испортить (или что-то) таблицу "сессий" в моей базе данных mysql (которая называется "e_learning_resource_prelive"). Обычно это не было бы проблемой, так как я мог просто вернуться к резервной копии базы данных. Однако поврежденная таблица, кажется, мешает мне удалить базу данных:

> mysqladmin -u root drop e_learning_resource_prelive
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.

Do you really want to drop the 'e_learning_resource_prelive' database [y/N] y
mysqladmin: DROP DATABASE e_learning_resource_prelive failed;
error: 'Unknown table 'sessions''

Когда я захожу в БД, таблица сессий отображается в show_tables (она единственная, mysqladmin drop удалил остальные), но я не могу ее удалить:

mysql> show tables;
+---------------------------------------+
| Tables_in_e_learning_resource_prelive |
+---------------------------------------+
| sessions                              | 
+---------------------------------------+
1 row in set (0.00 sec)

mysql> drop table sessions;
ERROR 1051 (42S02): Unknown table 'sessions'

Может кто-нибудь сказать мне, как я могу удалить эту таблицу, или весь БД? Мне нужно удалить базу данных, а затем перестроить ее из резервной копии.

3 ответа

Разобрался, кажется вроде сейчас очевидным. У всех dbs просто есть папка, которую можно удалить, как и все остальное.

sudo rm -r / var / lib / mysql / e_learning_resource_prelive

Спасибо всем, кто смотрел, в любом случае:) Макс

session является зарезервированным ключевым словом ( http://developer.mimer.com/validator/sql-reserved-words.tml), поэтому я считаю, что ваша база данных повреждена.

У меня была та же проблема с использованием зарезервированного ключевого слова (references в моем случае), и у меня также была проблема, что переименование, удаление или усечение таблицы приводили к ошибке sql.

Чтобы решить эту проблему, используйте символы обратной галочки в запросе alter table.

ALTER TABLE `session` RENAME TO newname

Таким образом, запрос не потерпит неудачу, и ваши данные все еще там (слава богу!). Я надеюсь, что кто-то найдет это полезным!

Используйте графический интерфейс. Вероятно, есть какой-то не очень печатный символ в sessions название.

Или, может быть, основной файл в файловой системе был удален? Если это так, попробуйте создать пустой файл с именем sessions там.

Другие вопросы по тегам