Как разделить большой SQL файл
Рубрика: Программирование
Метки: sql | инструменты | полезности | программирование | советы
Просмотров: 14912
Не так давно столкнулся с небольшой проблемой: есть выгрузка MySQL базы очень большого размера. Файл такого размера невозможно подсунуть phpMyAdmin (ограничения на размер загружаемых файлов) и у меня отсутствовал полноценный доступ к SSH. Не буду вдаваться в подробности, а сразу скажу, что в данном случае оптимальным способом загрузки файла будет разделение файла с выгрузкой на несколько более мелких.
Разделяем файл SQL на несколько
Опыта решения подобных задач не было, пришлось заглянуть в Google. Перебрав несколько ссылок, наткнулся на какой-то редко обновляемый блог, автор которого нахваливал инструмент SQL Dump File Splitter. Программа в два клика превращает большой SQL-дамп в несколько маленьких. Размер выходных файлов можно устанавливать любой. С помощью этой тулзы моя проблема была решена за несколько секунд. Большой дамп быстренько развалился на 50-ти метровые куски, а они в свою очередь переехали на новый хост.
А как сделать тоже самое в OS X
Единственный минус SQL Dump File Splitter – решение работает только в Windows. Дома я пользуюсь Windows редко, поэтому в случае необходимости воспользоваться SQL Dump File Splitter не смогу. Хотя, нет, вру, Конечно же, смогу! У меня установлен Paralles Desktop, поэтому проблем с запуском не возникнет.
Если у вас нет PD, то можете поделить sql файл с помощью встроенной в OS X консольной утилиты split. Синтаксис будет примерно таким:
split –l 3000 /path/to/big/dump.sql /path/to/part-
После выполнения команды, исходный файл будет разбит на несколько мелких, состоящих из 3000 строк.
P.S. Приятель подсказал, что под OS X есть MySQL Dump Splitter - тулза для быстрой разбивки sql-дампов. Я ее не тестил, если будет желание посмотрите сами.
P.S.1. Я не смог найти официальный сайт SQL Dump File Splitter (Windows), поэтому взял на себя смелость и разместил найденный на просторах инета бинарник к себе на блог. Скачать SQL Dump File Splitter можно здесь.