Задавайте вопросы, мы ответим
Вы не зашли.
Когда только перешёл на InnoDB, сразу, по совету на форуме поставил параметр innodb_file_per_table. Все таблицы создают отдельные файлики и всё вроде бы хорошо. Но в папке mysql есть файлик ibdata1. Я на него не обращал особо внимания... но тут он внезапно вырос с 2 гигабайт до 8 и это уже напрягает. Как бы мне определить, какие таблицы у меня там хранятся? Смотрел с помощью strings - там обрывки разных моих таблиц встречаются.. может ли быть, что там какие-то временные таблицы живут..? А почему тогда так распух файл?
Неактивен
Самый простой способ, наверное, — пробежаться по файликам frm и посмотреть, у каких из них нет
соответствующих файлов ibd или MYD. Что-нибудь вот такого типа:
aquatica:/var/lib/mysql$ sudo find . -type f | cut -f2 -d. | sort | uniq -c | grep 1 1 /test/db 1 /mysql_upgrade_info 1 /ib_logfile1 1 /ib_logfile0 1 /ibdata1 1 /debian-5
Если к моменту включения innodb_file_per_table в базе уже были какие-то таблички InnoDB, то они
остались в общем хранилище. Для того, чтобы создать отдельные файлы, можно выполнить команду
ALTER TABLE tablename ENGINE=InnoDB. Правда, уже занятое место это не спасет.
Неактивен
Увы, находит только MEMORY-таблички...
файл-то не особо напрягает, если бы я знал, что он не будет расти без предупреждения.
Неактивен
Тогда очень странно, что он у Вас растет. В него попадает undo log транзакций, т.е. если
у Вас есть большие транзакции, которые не влезают в память, и которые еще не применены,
то они попадают в этот файл. Но не верится, что бывают транзакции на 8 гигабайт... разве что
их очень-очень много...
Неактивен