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

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

LEXAlForpostl

Мой дом здесь!
Регистрация
21 Май 2008
Сообщения
766
Реакции
228
Здравствуйте.
Имеем дамп 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 метровый дамп.
Главное условие, чтобы скрипт работал в автоматическом режиме.
Указал всё необходимое в скрипте и можно запускать его.
 
Спасибо, конечно.
НО!
Главное условие, чтобы скрипт работал в автоматическом режиме
Этот дампер у меня есть, он называется Sypex)
Надо, чтобы скрипт запустил и не каких телодвижений не делал, он сам всё импортирует.
 
через 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>";
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху