Так как InnoDB надежнее для хранения важных данных и производительнее при частых запросах на запись, то преобразую таблицы MyISAM в InnoDB, в старых базах данных, в одной из компаний.
Обязательно нужно сделать резервную копию базы данных так как могут потеряться данные и после преобразования нужно сверить все ли данные на месте.
Подключимся к MySQL серверу любым удобным клиентом, например в терминале Ubuntu это можно сделать так:
mysql -u root -p
Составим список sql запросов для преобразования таблиц MyISAM в InnoDB (где dbname — имя нужной базы данных):
SELECT CONCAT('ALTER TABLE ',TABLE_NAME,' ENGINE=InnoDB;')
FROM INFORMATION_SCHEMA.TABLES
WHERE ENGINE='MyISAM'
AND table_schema = 'dbname';
Должны отобразится подобные sql запросы:
ALTER TABLE table1 ENGINE=InnoDB;
ALTER TABLE table2 ENGINE=InnoDB;
Теперь осталось выбрать базу данных и выполнить полученные ранее sql запросы:
use dbname;
Смотрите также другие мои статьи на тему MySQL