Конвертация таблиц из MyISAM в InnoDB
Подключаемся к базе данных с параметром -s
для подавления вывода таблиц псевдографикой:
mysql -s -u root -p
Устанавливаем имя целевой базы данных в переменную:
SET @DATABASE_NAME = '3dthisru';
Запрос, приведённый ниже, отобразит список команд, которые надо скопировать и вставить в терминал, для выполнения конвертации:
SELECT CONCAT('ALTER TABLE `', table_name, '` ENGINE=InnoDB;') AS sql_statements
FROM information_schema.tables AS tb
WHERE table_schema = @DATABASE_NAME
AND `ENGINE` = 'MyISAM'
AND `TABLE_TYPE` = 'BASE TABLE'
ORDER BY table_name DESC;
Не забываем, что перед вставкой сгенерированных команд следует указать целевую базу данных:
use 3dthisru;
Updated 29 June 2016, 9:41 by RaD.