Перевод всех таблиц базы данных с MyISAM на InnoDB

1) На хостинге в phpMyAdmin делаете SQL-запрос:

SELECT CONCAT('ALTER TABLE ',table_schema,'.',table_name,' ENGINE=InnoDB;') FROM information_schema.tables WHERE 1=1 AND engine = 'MyISAM' AND table_schema NOT IN ('information_schema', 'mysql', 'performance_schema');

Перевод всех таблиц базы данных с MyISAM на InnoDB

и нажимаете "Вперед"

2) Получив результаты данного запроса выбираете:

"Показать все":

и, нажав на "+ параметры": 

"Полные тексты"

Перевод всех таблиц базы данных с MyISAM на InnoDB

Затем нажимаете "Вперед"

3) У вас откроется набор команд для преобразования таблиц базы данных типа:

ALTER TABLE db_name.table_name1 ENGINE=InnoDB;
ALTER TABLE db_name.table_name2 ENGINE=InnoDB;

и т.д.

Копируете их все и опять вставляете во вкладку SQL и нажимаете "Вперед":

Перевод всех таблиц базы данных с MyISAM на InnoDB

4) После этого опять переходите в обзор содержимого вашей базы данных, выделяете все таблицы и выбираете "Оптимизировать таблицу":

Перевод всех таблиц базы данных с MyISAM на InnoDB

  • Обратите внимание, что при использовании InnoDB рекомендуется обратить внимание на регулярные бэкапы базы данных (например раз в сутки), чтобы иметь возможность восстановить из них базу данных в случае аварии.

			

UPD: обновлено 09.05.2023

Еще нет своего сайта? Запустите интернет-магазин на платформе 5CMS - Все для продаж уже внутри!

Рекомендуем прочитать