SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 07.05.2009 18:46:43

slakey
Участник
Зарегистрирован: 20.06.2008
Сообщений: 16

ibdata1

Когда только перешёл на InnoDB, сразу, по совету на форуме поставил параметр innodb_file_per_table. Все таблицы создают отдельные файлики и всё вроде бы хорошо. Но в папке mysql есть файлик ibdata1. Я на него не обращал особо внимания... но тут он внезапно вырос с 2 гигабайт до 8 и это уже напрягает. Как бы мне определить, какие таблицы у меня там хранятся? Смотрел с помощью strings - там обрывки разных моих таблиц встречаются.. может ли быть, что там какие-то временные таблицы живут..? А почему тогда так распух файл?

Неактивен

 

#2 07.05.2009 19:46:00

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: ibdata1

Самый простой способ, наверное, — пробежаться по файликам 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. Правда, уже занятое место это не спасет.

Неактивен

 

#3 08.05.2009 11:02:25

slakey
Участник
Зарегистрирован: 20.06.2008
Сообщений: 16

Re: ibdata1

Увы, находит только MEMORY-таблички...
файл-то не особо напрягает, если бы я знал, что он не будет расти без предупреждения.

Неактивен

 

#4 08.05.2009 12:44:10

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: ibdata1

Тогда очень странно, что он у Вас растет. В него попадает undo log транзакций, т.е. если
у Вас есть большие транзакции, которые не влезают в память, и которые еще не применены,
то они попадают в этот файл. Но не верится, что бывают транзакции на 8 гигабайт... разве что
их очень-очень много...

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson