Привет!
У меня все таблицы хранятся в формате InnoDB и лежат почему-то в одном огромном файле. Который даже не уменьшается со временем, если из него что-то удалять. Как сделать, что бы каждая таблица хранилась в отдельном файле. Или в структуре InnoDB это не возможно?
В MySQL есть настройка innodb_file_per_table, которая указывает, что таблицы нужно хранить в отдельных файлах.
Что делаем
Выключаем сайт;
Делаем бэкап всех баз данных и конфига;
Удаляем все таблицы базы данных;
Выключаем mysqld;
В my.cnf удаляем старое значение innodb_data_file_path и добавляем:
innodb_data_file_path=ibdata1:10M:autoextend
innodb_file_per_table=1
Удаляем cледующие файлы:
/var/lib/ibdata1
/var/lib/ib_logfile0
/var/lib/ib_logfile1
Удалить нужно все logfile.
Запускаем mysqld;
Заливаем базу обратно;
Проверяем наличие новых файлов *.ibd.