Постоянно растет ibdata1

12
maximus200
На сайте с 08.09.2004
Offline
160
4772

Всем привет.

Есть centos 6.4 на Xeon E31230 с 240gb ssd. Базы данных в innodb, постоянно растет в размере файл ibdata1 пока полностью не забивает винт со всеми вытекающими. Используемое ПО для этого переписывается в данный момент, но очень много чего пока находится в таком варианте с такой структурой. Единственное что помогло это:

- стянуть дампы всех дб

- остановить mysqld

- удалить ibdata1, ib_logfile0 и ib_logfile0

- запустить mysqld, при запуске он создает эти файлы но уже условно пустые

- восстановить все дб

Вопрос к знатокам: какую последовательность команд надо сделать, чтобы можно было массово сделать бекапы всех дб, а затем массово их восстановить, а не по одному тыкать?

Если же есть другие варианты по освобождению места в ibdata1 - с радостью выслушаю.

Заранее спасибо.

Andreyka
На сайте с 19.02.2005
Offline
820
#1

Докупить дисков не вариант?

Не стоит плодить сущности без необходимости
maximus200
На сайте с 08.09.2004
Offline
160
#2
Andreyka:
Докупить дисков не вариант?

Честно говоря уже устал докупать. В начале было 64gb ssd, потом 128 gb ssd, сейчас 240 gb ssd. Проблема не в дисках, сколько бы места не было все сжирается этим файлом файлом со временем. По сумме размеров всех баз в ips панели показывает к примеру 50gb - примерно реально занятое место. А этот файл более 130 gb к примеру и растет без остановки, базы при этом в ips не растут по объему. Т.е. забивается место и не высвобождается, все только нарастает.

Были бы винты на sata, так проблемы бы не стаяло такой, а так ssd используется на всех серверах, а по цене полагаю все в курсе сколько они обходятся.

iHead
На сайте с 25.04.2008
Offline
137
#3

попробуйте

innodb_file_per_table=1

будет видно, какая база/таблица растет.

останется периодически оптимизировать таблички.

Рекомендуемый хостинг партнер 1С-Битрикс (https://www.ihead.ru/bitrix/), PHP-хостинг (https://www.ihead.ru/php/), доверенный партнер RU-CENTER (https://www.ihead.ru/news/573.html), официальный представитель REG.RU в Кирове (https://www.ihead.ru/news/851.html)
astraliens
На сайте с 25.09.2009
Offline
54
#4
iHead:
попробуйте

будет видно, какая база/таблица растет.
останется периодически оптимизировать таблички.

очень верное решение...

оптимайз какраз и будет делать "удаление и заливку по новой". правда диску придется немного несладко, т.к. будет полная перезапись всей таблицы..

ASTRALiENS - разработка сайтов (http://astraliens.net)
maximus200
На сайте с 08.09.2004
Offline
160
#5

iHead, Поправьте если что не так. Захожу на сервер по ssh, рут / пасс все дела. Вставляю это команду сразу, выдает ошибку. Понимаю что надо зайти в консоль базы, захожу так:

mysql -u root -p

указываю рутовский пароль к базе

затем ввожу

innodb_file_per_table=1

Выдает такое

Поправьте где ошибка / что делаю не так, желательно с подробностями.

WapGraf
На сайте с 30.09.2009
Offline
455
#6

В конфиг мускула строчку добавьте.

EuroHoster.org ( https://eurohoster.org/link.php?id=42 ) - территория быстрых серверов. Скидка 70% на VPS и 10% на выделенные серверы в Нидерландах (https://eurohoster.org/index.php?rp=/announcements/330/Скидки.html)
N
На сайте с 06.05.2007
Offline
419
#7
Т.е. забивается место и не высвобождается, все только нарастает.

Да если и в 2 раза превышает,это все еще может быть нормальной ситуацией.

Сделайте бекап всех баз в виде SQL, удалите все файлы, потом снова восстановите.

Если размер файлов уменьшится сильно раз в эдак в 10 - тогда, вероятно, это баг и его можно исправить апгрейдом mysql.

Иначе нужно просто искать что же там записывается.

Кнопка вызова админа ()
maximus200
На сайте с 08.09.2004
Offline
160
#8

Прописал строку

innodb_file_per_table=1

в файле my.cnf

перезапустил mysqld

/etc/init.d/mysqld restart

Ничего не произошло. Полагаю что то еще надо сделать, подскажите плиз что именно.

И так же буду благодарен за подсказку как в innodb сделать чек и оптимизацию всех баз данных сразу. В обычном типе myisam (если не ошибаюсь) это делалось такими командами:

mysqlcheck -u root -p --auto-repair --all-databases

mysqlcheck -u root -p --check --all-databases
mysqlcheck -u root -p --optimize --all-databases

но для innodb они не работают.

netwind Я это все понимаю, но вопрос в том, какие команды и в какой последовательности вводить в консоли.

Andreyka
На сайте с 19.02.2005
Offline
820
#9
maximus200:


Т.е. забивается место и не высвобождается, все только нарастает.
Были бы винты на sata, так проблемы бы не стаяло такой, а так ssd используется на всех серверах, а по цене полагаю все в курсе сколько они обходятся.

А как вы чистите данные?

pupseg
На сайте с 14.05.2010
Offline
329
#10

ТС - а вы чистите вообще свои базы ? посмотрите в каком-нибудь phpmyadmin - какая база у вас так растет

Качественная помощь в обслуживании серверов. (/ru/forum/661100) Бесплатных консультаций не даю, не помогаю, не обучаю. Минималка от 100$. Как пропатчить KDE-просьба не спрашивать. Есть форумы (http://linux.org.ru) и полезные сайты (http://www.opennet.ru/).
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий