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

Тема в разделе "Базы данных", создана пользователем zsaz, 14 авг 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. zsaz

    zsaz

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

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

    как можно импортировать эту базу?
     
  2. johndoe1

    johndoe1 Писатель

    Регистр.:
    17 май 2009
    Сообщения:
    4
    Симпатии:
    0
    Во первых никогда не импортируй через всякие mysqladmin.
    Просто заходишь в mysql
    выбираешь базу, use <database>
    а дальше source <имя_файла.sql>

    Я импортировал так и большие базы.
    Если это не прошло (хотя не видел я, чтобы не проходило), разбей текстовый файлик на 10. И поочередно обработай каждый файлик.
     
  3. autos

    autos

    Регистр.:
    14 июл 2007
    Сообщения:
    191
    Симпатии:
    49
    Попробуй программой SQL Dumper
     
  4. zsaz

    zsaz

    Регистр.:
    6 авг 2007
    Сообщения:
    251
    Симпатии:
    11
    я пользовался phpmyadmin
     
  5. LLlaMaH

    LLlaMaH Вот он я

    Регистр.:
    1 апр 2009
    Сообщения:
    250
    Симпатии:
    359
    Sypex Dumper - прост в управлении. Нашел в паблике. Позволяет экспортировать (импортировать) базу. Просто настраиваешь, выбираешь базу, жмешь на кнопку.

    Решил сразу выложить, чтобы не искал
    Посмотреть вложение SypexDumperLite_108.zip
     
  6. dig555

    dig555

    Регистр.:
    22 июн 2007
    Сообщения:
    362
    Симпатии:
    148
    Самое верное - SSH:
    mysql -ulogin_ws -ppassword db_name < dump.sql
     
  7. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    Например если импортируется с 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

    Ещё подробнее тут

    https://www.nulled.cc/showthread.php?t=134729
    https://www.nulled.cc/showthread.php?t=96227
    https://www.nulled.cc/showthread.php?t=84052
    https://www.nulled.cc/showthread.php?t=58359
     
    eurostyle, steop4k, HolyWanderer и 2 другим нравится это.
  8. VLDM

    VLDM Постоялец

    Регистр.:
    15 июн 2006
    Сообщения:
    50
    Симпатии:
    6
    Попробуй с такими ключами

    --set-variable max_allowed_packet=16M
    либо
    -O max_allowed_packet=16M
     
  9. zsaz

    zsaz

    Регистр.:
    6 авг 2007
    Сообщения:
    251
    Симпатии:
    11
    Пробую Sypex Dumper.
    Только там написано надо базу закинуть в папку backup, но я ее не могу создать... выдает ошибку.
     
  10. Maskad

    Maskad

    Заблокирован
    Регистр.:
    29 апр 2009
    Сообщения:
    727
    Симпатии:
    109
    дело в том что в phpmyadmin часто стоит ограничение на размер. поэтому лучше sypexom.
     
Статус темы:
Закрыта.