импорт большой базы в mysql

Статус
В этой теме нельзя размещать новые ответы.

zsaz

Старатель
Регистрация
6 Авг 2007
Сообщения
251
Реакции
11
не могу импортировать большую базу, выдает ошибку, связанную с нехваткой памяти или нечто подобное.

база вешает 10 мб в архиве.
без него 77 мб.

как можно импортировать эту базу?
 
Во первых никогда не импортируй через всякие mysqladmin.
Просто заходишь в mysql
выбираешь базу, use <database>
а дальше source <имя_файла.sql>

Я импортировал так и большие базы.
Если это не прошло (хотя не видел я, чтобы не проходило), разбей текстовый файлик на 10. И поочередно обработай каждый файлик.
 
Попробуй программой SQL Dumper
Dumper позволяет экспортировать и импортировать SQL в Бекап
Отличие от встроенных предыдущих програм бекапов то что Дампер позволяет бекапить и востанавливать очень большие размеры SQL файлов.
 
я пользовался phpmyadmin
 
Sypex Dumper - прост в управлении. Нашел в паблике. Позволяет экспортировать (импортировать) базу. Просто настраиваешь, выбираешь базу, жмешь на кнопку.

Решил сразу выложить, чтобы не искал
Посмотреть вложение SypexDumperLite_108.zip
 
Самое верное - SSH:
mysql -ulogin_ws -ppassword db_name < dump.sql
 
Например если импортируется с phpmyadmin на денвере, то увеличить ограничения в php.ini
Z:\usr\local\php5\php.ini
найти
post_max_size = 2M
и заменить на
post_max_size = 2000M

найти
upload_max_filesize = 2M
и заменить на
upload_max_filesize = 2000M

ну и лимит времени обработки скрипта тоже можно увеличить max_execution_time и max_input_time
например поставить
max_execution_time = 18000
max_input_time = 18000

и памяти можно увеличить
memory_limit = 128M

и перезагрузить сервер.

Или с командной строкой
Z:\usr\local\mysql5\bin\mysql_run_to_import_dumps. exe -uЮЗЕР -pПАРОЛЬ -hlocalhost --default-character-set=utf8 --force БАЗА < Z:\db_base_file.sql


Или если нет доступа на сервере к настройкам php то соорудить и запустить на сервере такой php скрипт
PHP:
ini_set('max_execution_time', '10000');
ini_set('session.gc_maxlifetime', '10000');
$dump_import = shell_exec('mysql --user=USER --password=PASSWORD --host=localhost --default-character-set=utf8 --force DB_NAME < dump_file.sql');
Или использовать скрипт для импорта больших баз


Так же есть программы которые переносят, импортируют и экспортируют базы например SQLyog

Ещё подробнее тут
 
Попробуй с такими ключами

--set-variable max_allowed_packet=16M
либо
-O max_allowed_packet=16M
 
Пробую Sypex Dumper.
Только там написано надо базу закинуть в папку backup, но я ее не могу создать... выдает ошибку.
 
  • Заблокирован
  • #10
дело в том что в phpmyadmin часто стоит ограничение на размер. поэтому лучше sypexom.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху