Импортировать много файлов sql в базу данных Denwer'a

Если у вас есть много файлов с частичными дампами базы данных (это может быть, например, если у вас каждая таблица базы данных была экспортирована в отдельный файл и у вас есть более 500 файлов с разрешением .sql), и вам нужно импортировать их в одну базу данных на локальной машине, на которой установлен Denwer, то вам нужно сделать следущее:
Скачать файл для импорта файлов баз данных в денвер: https://github.com/DyaGa/mysql_dump_win, оттуда вытащить файл mysql_run_to_import_dumps.exe (прикреплён к статье)
Скопировать его в вашу папку денвера по пути \usr\local\mysql-5.5\bin
В этой же папке сделать подпапку с названием, например, mydumps
Залить в эту папку все файлы с дампами, которые надо импортировать в Денвер
Установить удобную консоль для windows: Console2
Зайти в консоли в папку \usr\local\mysql-5.5\bin (Например у меня это команда cd d:\Sites\Denwer\usr\local\mysql-5.5\bin\)
В этой же папке надо создать файл import_many_files.bat со следующим содержанием:

@echo off
Set ext=*.sql
Set Folder=d:\Sites\Denwer\usr\local\mysql-5.5\bin\05132014\
Call Set St="%Folder%%%ext: =","%Folder%%%"
For /F "Delims=" %%A in ('dir /b /s /a:-d %St%') do Echo d:\Sites\Denwer\usr\local\mysql-5.5\bin\mysql_run_to_import_dumps.exe -uroot test ^< "%%A" >> test.txt

Естественно, пути вы свои прописываете
Теперь из консоли запускаем этот файл - просто пишем его название:

import_many_files.bat

В нашей папке создаётся файл test.txt, в котором много строчек. Копируем все эти строчки (ctrl+a, ctrl+c)
Открываем консоль, и нажимаем shift+insert
Этим самым у нас вставляется то множество строчек, что у нас было в файле. При этом каждая строчка выполняется и к нам в базу импортируется очередной файл.
Нам остаётся просто дождаться завершения импорта.

Удачи!

Полезные ссылки:
Справочник команд и примеров BAT-файлов

Прикреплённые файлы: 

Комментарии

Nikita Petrov 13.03.2017 - 15:55

my.conf требуется для mysql, а не для моего скрипта. У вас сам mysql настроен? Возможно что не настроена версия mysql-5.5 которая указана в статье. Попробуйте использовать ту версию, которая точно у вас работает.

алексанр 13.03.2017 - 17:01

Спасибо за ответ. Проблема решилась путём сохранения файла my.ini в папке [mysql-5.5] как my.cnf в той же папке

Nikita Petrov 13.03.2017 - 20:00

Отличный комментарий, спасибо! Если бы каждый в интернете отписывал, как решил свою проблему, мир был бы лучше! :)

Добавить комментарий