5/5 - (1 голос)    
    Дано: БД mysql, InnoDB. Необходимо уменьшить БД. В MSSQL есть очень удобная команда SHRINK DATABASE, но к сожалению в mysql по другому.
Движок InnoDB не поддерживает уменьшение размеров файлов БД. Единственный способ уменьшить размер БД — сделать дамп, пере инициализировать хранилище, восстановить из дампа.
Решение:
- Сделать mysqldump всех баз данных, процедур, триггеров и т.д., кроме баз данных performance_schema, mysql
 - Удалите все базы данных, кроме двух из предыдущего пункта
 - Остановите службу БД mysql. service mysqld stop
 - Удалить ibdata и ib_log файлы
 - Запустите службу БД mysql. service mysqld start
 - Восстановите из бэкапа базы данных, сохраненные в первом пункте
 
При помощи команды ALTER <tablename> ENGINE = InnoDB или OPTIMIZE TABLE <tablename> можно оптимизировать данных и индексы. Тем не менее, ibdata не будет уменьшена, если вы не сделаете шаги, описанные выше.