• На главную
  • Услуги
    • Разработка сайтов и магазинов
    • Ремонт сайта
    • Мониторинг
    • Настройка и администрирование
  • Продукты
    • МеждуВещье
    • Архив
  • Наши работы
    • Сайты
    • Оборудование и автоматизация
  • Информация
    • О наc
    • Новости
    • Публикации
    • Условия
    • Сертификаты
    • Контакты
  • Пользователям
    • Войти в систему
    • Регистрация
Celere Systems

Своей работой ускоряем Вашу!

CONTACT

info@celere.ru

+7(952)81-37-468

Информация. Публикации

MySQL и хранение INNODB таблиц базы в отдельных файлах или innodb_file_per_table

Ноя 07 2016

К списку статей

Не всегда удобно хранить все MySQL базы и все таблицы одного серера в ibdata1


Зачастую, при росте БД возникает необходимость разнести базы на разные хранилища. Плюс, заметил, удаляя более-менее большие таблицы, ibdata1 не уменьшается в размерах, особенно чувствительно это, когда таблицы размерами с десятки Гб.


В общем - делюсь опытом, как перевести InnoDB из хранения в одном файле - в хранение - файл на таблицу.


Делается это очень просто.


1. Намечаем время работ, чтобы клиенты не страдали


2. Останавливаем все сервисы, которые коннектятся к базам


3. Делаем дампы нужных нам баз (на всякий случай закопировал и файлы конфигурации и файлы структуры таблиц с данными (/etc/mysql и /var/lib/mysql , ну или где они в вашем дистрибутиве лежат))


4. Удаляем все таблицы из баз


5. Выключаем mysqld


6. В файле my.cnf ищем строку (если есть) innodb_data_file_path и заменяем ее (если нет, то в секцию InnoDB просто добавляем) на:


innodb_data_file_path=ibdata1:10M:autoextend
innodb_file_per_table=1


7. Удаляем файлы


ibdata1


ib_logfile0


ib_logfile1


8. Запускаем mysqld


9. Заливаем базы обратно из дампов


10. В папках по пути /var/lib/mysql/базаваш/ должны появиться файлы *.ibd


11. Если все прошло успешно - запускаем все остановленные сервисы и удаляем копии файлов, которые делали.


 


12. Приятного чаепития :-)


 


Фешин В.А.


 

О нас

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

Меню

  • На главную
  • Условия
  • О наc
  • Контакты

Мы в соцсетях

  • Facebook
  • Vkontakte
  • Twitter
  • Youtube

Наши преимущества

• Многолетний опыт работы наших специалистов в телекоммуникационных компаниях (Ростелеком, МТС);
• Разрабатываем собственные программные продукты на многофункциональном ядре CELERE marchitect;
• Наши сотрудники сертифицированные специалисты Zabbix;
• Разрабатываем с нуля оборудование, ПО, игры;
• Имеем собственное облако для целей контроля, сбора статистики и управления автоматизацией.

© 2012 - 2025 Celere Systems (cms Celere Marchitect)