Импорт sql дампа

Тема в разделе "PHP", создана пользователем LEXAlForpostl, 5 сен 2009.

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

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    708
    Симпатии:
    225
    Здравствуйте.
    Имеем дамп 20 МБ, естественно, хостинг не разрешает загружать в память сразу файлы такого размера.
    Есть такой дампер, как Sypex. Ему всё равно размер дампа, т.к. он по частям файл загружает.

    Имею в наличие только такой скрипт импорта.
    PHP:
    <?
          function 
    load_db_dump($file,$sqlserver,$user,$pass,$dest_db)

           {

             
    $sql=mysql_connect($sqlserver,$user,$pass);
             
    mysql_select_db($dest_db);
               
    mysql_query("SET NAMES 'utf8'");
             
    $a=file($file);
             foreach (
    $a as $n => $l) if (substr($l,0,2)=='--') unset($a[$n]);
             
    $a=explode(";\n",implode("\n",$a));
             unset(
    $a[count($a)-1]);
             foreach (
    $a as $q) if ($q)
                if (!
    mysql_query($q)) {echo  mysql_error() ;mysql_close($sql); 
    //"Fail on '$q'"; 

    return 0;}
             
    mysql_close($sql);
               return 
    1;
           }


    $dumper load_db_dump('sql.sql','localhost','root','root',"ok");

    ?>
    Подскажите пожалуйса, как импортнуть 20 метровый дамп.
    Главное условие, чтобы скрипт работал в автоматическом режиме.
    Указал всё необходимое в скрипте и можно запускать его.
     
  2. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    708
    Симпатии:
    225
    Спасибо, конечно.
    НО!
    Этот дампер у меня есть, он называется Sypex)
    Надо, чтобы скрипт запустил и не каких телодвижений не делал, он сам всё импортирует.
     
  3. polyetilen

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

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    через shell в mysql
    PHP:
    ini_set('max_execution_time''10000');
    ini_set('session.gc_maxlifetime''10000');
    $output shell_exec('mysql --user=USER --password=PASSWORD --host=localhost --default-character-set=utf8 --force DB_NAME < dump_file.sql');
    echo 
    "<pre>$output</pre>";
    http://dev.mysql.com/doc/refman/5.0/en/mysqlimport.html
     
Статус темы:
Закрыта.