Я запускаю сервер MySQL 5.1 под CentOS 6.5. Во время импорта файла SQL сегодня все таблицы были созданы в MyISAM, даже если они были объявлены для использования механизма InnoDB.Преобразование InnoDB в MyISAM при импорте
Например, у меня была таблица объявленную на .sql файл, как это:
CREATE TABLE `customer` (
`customer_id` int(11) NOT NULL AUTO_INCREMENT,
`customer_no` varchar(20) DEFAULT NULL,
`company_name` varchar(50) DEFAULT NULL,
[....]
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
Когда .sql файл был импортирован с помощью:
столmysql -u <username> -p < new_db.sql
Клиент был создан с помощью Таблица MyISAM. Как это может быть возможным?
Чтобы исправить проблему, я добавил в конфигурацию MySQL, чтобы установить двигатель по умолчанию в InnoDB и перезапустить, но, поскольку механизм таблицы был объявлен InnoDB, не следует ли его загружать с использованием этого объявленного двигателя, а не по умолчанию?
Вы уверены, что таблица уже не существует? –
Да. Сценарий генерируется MySQL Dump, поэтому всякий раз, когда существует таблица, он падает, а затем повторно создает его. – Mcloide
Может быть, InnoDB не удалось инициализировать, а MySQL превратил таблицу InnoDB в MyISAM? – akuzminsky