Как импортировать базы данных больших размеров?
Недавно мне потребовалось немного расширить функционал на своём сайте http://srs.myrusakov.ru. Разумеется, встал вопрос о его импортировании на Denwer, чтобы я спокойно мог его модернизировать, а затем залить свежую версию обратно. С файлами никаких проблем не было, а вот с импортом базы возникла серьёзная трудность. Дело в том, что на данном сайте я собираю информацию о каждом посещении каждой страницы. Таким образом, количество записей в соответствующей таблице составляет несколько сотен тысяч. Эта таблица весит около 40 МБ. Разумеется, импортировать её, как и все другие, через PHPMyAdmin не представляется возможным. Можно было бы, конечно, менять настройки php.ini, но делать мне этого не хотелось, тем более, решение это временное, поскольку таблица увеличивается очень быстро. Поэтому мне пришлось найти способ, как импортировать базы данных больших размеров. Об этом я и расскажу в данной статье.
Помогла мне в этом одна программа, которая называется Sypex Dumper. Вот здесь можно скачать свежую версию: http://sypex.net/ru/products/dumper/downloads/. Версия Pro является платной, и она Вам не нужна, поэтому выбирайте другую. У данной программы много возможностей, но нам потребуется лишь импорт базы данных.
Разархивируйте папку с программой на какой-нибудь виртуальный хост на Denwer (либо в отдельную папку на своём хостинге). Там появится папка backup, и в эту папку Вам надо поместить SQL-файл Вашей большой базы данных.
Теперь зайдите на данный виртуальный хост, и Вы увидите следующее:
Вам необходимо ввести логин и пароль от базы данных и нажать на кнопку "Войти".
После этого откроется следующее окно, на котором Вам нужно выбрать вкладку "Импорт":
Далее Вам нужно выбрать базу данных, в которую будет идти импорт (перед этим её лучше очистить через PHPMyAdmin), файл (который находится в папке backup) и затем нажать на кнопку "Выполнить".
После нажатия на кнопку "Выполнить" Ваша база данных будет практически моментально импортирована (причём намного быстрее, чем это делает PHPMyAdmin).
Безусловно, если Ваша база не очень большая (в пределах 10 МБ), то данный способ Вам и вовсе не нужен. А вот если Вам нужно импортировать базы данных больших размеров, то данный скрипт станет для Вас незаменимым помощником.
-
- Михаил Русаков
Комментарии (14):
Та же проблема "Fatal error: require_once() [function.require]: Failed opening required 'Spreadsheet/Excel/Writer.php' (include_path='.;/usr/local/php5/PEAR') in Z:\home\localhost\www\Tools\phpmyadmin\libraries\export\xls.php on line 5" не могу понять где найти SQL-файл Вашей большой базы данных?
Ответить
Это ошибка в самом phpmyadmin, попробуйте переустановить Denwer. Также можете просто взять SQL-запрос из файла, скопировать его и вставить его во вкладку "SQL" в базе, в которую нужно импортировать данные.
Ответить
Дело в том, что уже есть сайт. Просто переустановить денвер нельзя. Я скопировал сайт из папки home и теперь осталось базу данных скопировать. Если придерживаться вашего совета. Установил программу sxd на denwer. А дальше не знаю что делать:( "Также можете просто взять SQL-запрос из файла, скопировать его и вставить его во вкладку "SQL" в базе, в которую нужно импортировать данные." Объясните чуть подробнее пожалуйста.
Ответить
У Вас есть SQL-файл, откройте его в блокноте, скопируйте весь код и найдите вкладку "SQL" в phpMyAdmin, туда этот код и вставьте и выполните его.
Ответить
Извиняюсь за тупость..Не могу найти sql файл. Где он находится,чтобы его открыть?
Ответить
Подсказка Денвера Вы ошиблись при наборе URL в браузере. Вероятнее всего, сервер пытается найти файл Z:/home/localhost/www/Tools/phpMyAdmin/function.require, которого не существует. В случае использования CGI-скриптов, корректные пути к CGI-директориям следующие: URL Куда указывает http://***/cgi-glob/script.cgi /home/cgi-glob/script.cgi http://***/cgi/script.cgi /home/***/cgi/script.cgi http://***/cgi-bin/script.cgi /home/***/cgi-bin/script.cgi это если нажать [function.require..может быть как то поможет
Ответить
Так у Вас что не получается? Экспорт или импорт?
Ответить
Экспорт не получается. Выходит ошибка Fatal error. Я её в первом сообщении еще написал. Потом если нажать "function.require" в этой самой ошибке, выходит "Подсказка денвера". В предыдущем сообщение написал о ней. Вот так. У меня сайт на CMS Joomla 2.5 Версия: Денвер-3 2012-09-16 (Если пригодится)
Ответить
В настройках экспорта посмотрите, попробуйте разные настройки поставить. Там есть "Вывод в файл" или просто "Вывод в окно браузера". Попробуйте разные варианты.
Ответить
Моих мозгов не хватило разобраться в ситуации с вашей помощью. Я задал вопрос на форуме. Надеюсь помогут:) Вам спасибо за советы!
Ответить
Спасибо,большое!Очень помогло!
Ответить
При вхождении через авторизацию (введен верный логин\пароль) через данный скрипт страница обновляется и ничего не происходит. Помогите, пожалуйста.
Ответить
Добрый день. Вчера столкнулся с проблемой заливки БД на Денвер весом 180 Мб. Почитав в Интернете ужасов про проблемы с заливкой баз до 16 Мб, теперь и не знаю, что делать. Возможно ли как-то залить такую базу через phpMyAdmin стандартными средствами без сторонних модулей. Мне бы не хотелось вводить свой пароль к базе непонятно куда. Может и "стучалка" какая-нибудь есть, а потом сайты взламываются. Подскажите выход из ситуации. Сейчас база заливается через phpMyadmin уже 5 час. Есть смысл ждать дальше? Спасибо заранее.
Ответить
Почему Sypex Dumper не работает на OpenServer? На Denwer работает нормально. Ест ли какой-то особенности между OpenServer и Denver? Заранее спасибо
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.