Как изменить Storage Engine для всех MySQL таблиц

Категория: MySQL

Если у вас в БД несколько десятков (сотен) таблиц - процедура изменения движка вручную (Storage Engine) становится длительной задачей... В другом случае вам может понадобится довольно часто менять тип движка, пусть даже для нескольких таблиц. Например для реверс инжиниринга. В моем случае нужно было сгенерить модели Propel'а по схеме существующей БД.

Решение на PHP

Есть PHP скрипт для изменения Storage Engine всех MyISAM таблиц на InnoDB тут.

Решение под MySQL Workbench

Но мне нужно было изменить Storage Engine для нескольких десятков таблиц в ER-модели MySQL Workbench. Как выяснилось, для этой задачи уже давно написали скрипт-расширение под Workbench: Tools » Utilities » Change the Storage Engine of All Tables. В появившемся окне нужно задать нужный движок MyISAM или InnoDB.

Примечание

Если таблиц не много, можно по простому заюзать:

ALTER TABLE table_name ENGINE=InnoDB;

категория: MySQL