Не удается создать таблицу InnoDB (ошибка -1)

Я переношу довольно простую таблицу на свой живой сервер БД, и это дает мне эту странную ошибку, когда я пытаюсь создать таблицу InnoDB, создание таблицы:

CREATE TABLE `cobertura` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `cep` int(8) unsigned zerofill NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`),
  KEY `idx_cep` (`cep`)
) ENGINE=InnoDB;

Если я меняю движок на MyISAM, он работает, если я меняю имя таблицы на что-то другое, он работает. Если я создам таблицу как MyISAM и внесу изменения в InnoDB, я получу ошибку 121. Я попытался посмотреть папку, в которой mysql хранит файлы, чтобы увидеть, есть ли там какой-либо мусор, ничего.

Любые идеи?


person Rodrigo    schedule 06.07.2011    source источник
comment
У меня работает нормально. Может быть, показать вашу окружающую БД? Вы пробовали это в новой БД?   -  person Kerrek SB    schedule 07.07.2011
comment
Найденный SHOW ENGINES; покажет, поддерживается ли движок, хотя это для меня, и я сейчас пытаюсь понять это. Ты когда-нибудь понял это, Родриго? Также INSTALL PLUGIN innodb SONAME 'ha_innodb.so'; у меня не работает.   -  person John    schedule 21.03.2018


Ответы (1)


Хотя база данных может иметь тире (-) в имени, это не позволит MariaDB (и, следовательно, MySQL) установить движок на InnoDB... хотя это в лучшем случае половинчатый ответ, поскольку я я пытаюсь импортировать всю базу данных обратно в систему, есть другие таблицы, которые создаются сначала без проблем. К сожалению, эта проблема сейчас навязывается мне, и у меня нет времени, чтобы начать новую политику схемы имен баз данных. Сейчас я меняю механизм для этой конкретной базы данных, чтобы вместо этого использовать MyISAM.

Из общего устранения неполадок попробуйте:

SHOW ENGINES;

... и если InnoDB, по-видимому, не установлен, попробуйте следующее:

INSTALL PLUGIN innodb SONAME 'ha_innodb.so';
person John    schedule 22.03.2018