Конвертація типу движка таблиць mysql з myisam в innodb і назад enchanted technology
Якщо перед вами постало завдання конвертувати таблиці MyISAM в InnoDB (або навпаки), то можете скористатися моєю інструкцією.
Я проводжу конвертацію sql дампа через це створює даунтайм на час операції.
попередньо
Перед тим як почати варто переконатися, що в конфіги mysql включена підтримка InnoDB і інші параметри налаштовані вірно, інакше втратите і час і нерви.
Відкрийте конфиг mysql 1) і переконайтеся що там немає або закоментірована точки skip-innodb (якщо ви навпаки відмовляєтеся від innodb, то надалі можете додати цей рядок, це дозволить заощадити пам'ять на непотрібному движку).
Так само для innodb переконайтеся в правильності параметра innodb_data_file_path. Він повинен бути схожий на:
де 100M - мінімальний створюваний розмір файлу під зберігання таблиць, autoextend - дозволяє автоматичне збільшення цього файлу.
Якщо у цього параметра встановлено ще ключ max: NN - то або видаліть його зовсім, або виставите * NN * в максимальний розмір для однієї таблиці, інакше імпорт дампа може випасти за цей ліміт і доведеться його міняти.
Або за місце innodb_data_file_path використовувати innodb_file_per_table. тоді під кожну таблицю буде використовуватися свій окремий файл.
Будь-які зміни в конфігурації зажадає перезапуску mysql сервера.
Конвертація
Всі операції виконуються в консолі.
Створення вихідного дампа бази: