Это ibdata1не сокращает, является особенно раздражающей особенностью MySQL. ibdata1Файл фактически не может быть уменьшен , если вы не удалите все базы данных, удалите файлы и перезагрузите дамп.
Но вы можете настроить MySQL так, чтобы каждая таблица, включая ее индексы, сохранялась как отдельный файл. Таким образом ibdata1, не будет расти как большой. Согласно комментарию Билла Карвина, это включено по умолчанию в версии 5.6.6 MySQL.
Это было некоторое время назад, я сделал это. Однако, чтобы настроить ваш сервер на использование отдельных файлов для каждой таблицы, вам нужно изменить my.cnf, чтобы включить это:
[mysqld]
innodb_file_per_table=1
http://dev.mysql.com/doc/refman/5.5/en/innodb-multiple-tablespaces.html
Поскольку вы хотите освободить место, ibdata1вы должны удалить файл:
- Выполните
mysqldumpвсе базы данных, процедуры, триггера и т.д. , за исключением mysqlи performance_schemaбаз данных
- Отбросьте все базы данных, кроме двух указанных выше.
- Стоп MySQL
- Удалить
ibdata1и ib_logфайлы
- Запустите MySQL
- Восстановить из дампа
При запуске MySQL на шаге 5, ibdata1и ib_logфайлы будут восстановлены.
Теперь вы готовы идти. Когда вы создаете новую базу данных для анализа, таблицы будут располагаться в отдельных ibd*файлах, а не в ibdata1. Поскольку вы обычно удаляете базу данных вскоре после этого, ibd*файлы будут удалены.
http://dev.mysql.com/doc/refman/5.1/en/drop-database.html
Вы, наверное, видели это:
http://bugs.mysql.com/bug.php?id=1341
Используя команду ALTER TABLE <tablename> ENGINE=innodbили OPTIMIZE TABLE <tablename>можно извлечь данные и индексные страницы из ibdata1 в отдельные файлы. Однако ibdata1 не будет уменьшаться, если вы не выполните описанные выше шаги.
Что касается того information_schema, что не нужно и не возможно отбросить. На самом деле это просто набор представлений только для чтения, а не таблиц. И нет никаких файлов, связанных с ними, даже каталог базы данных. informations_schemaИспользуют память DB-двигатель и отбрасываются и регенерируют после остановки / перезапуска туздЫ. См. Https://dev.mysql.com/doc/refman/5.7/en/information-schema.html .