Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Восстановление дампа phpmyadmin

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
valenok Модератор
Отправлено: 22 Января, 2009 - 23:01:34
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Иногда дамп сделанный pma дома нужно загрузить на сервер
и если вставлся его в тот же pma на сервере, то процесс может затянуться очень долго.
Я использую вот такой простенький скрипт.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. function getmicrotime()
  4. {
  5.    list($usec, $sec) = explode(" ", microtime());
  6.    return ((float)$usec + (float)$sec);
  7. }
  8. $time_start = getmicrotime();
  9.  
  10. header('Content-Type: text/html; charset=utf-8');
  11.  
  12. $db = mysql_connect('localhost','юзер','пассвёрд');
  13. mysql_select_db('mysql',$db);
  14. mysql_query('SET NAMES \'UTF8\'',$db);
  15.  
  16.  
  17. $file = file_get_contents('dump.sql');
  18. $file = explode(';',$file);
  19. $c = count($file);
  20.  
  21. for( $i = 0; $i < $c; $i++)
  22. {
  23.   if(substr(trim($file[$i]),0,3) == 'USE') // USE `mydatabase`;
  24.   {
  25.      $base = substr(trim($file[$i]),5,-1);
  26.      mysql_select_db($base,$db);
  27.      mysql_query('SET NAMES \'UTF8\'',$db);
  28.      continue;
  29.   }
  30.   mysql_query($file[$i]);
  31.  if($i>0 && $i%500==0)
  32.  {
  33.     echo 'Выполняю запрос № ',$i,"<br>";
  34.     ob_flush(); flush();
  35.   }
  36. }
  37. ?>
  38.  
  39. Восстановление завершено.<br>
  40. Количество запросов: <?PHP echo $i; ?>
  41. Время затраченное на восстановление дампа: <?PHP echo number_format((getmicrotime() - $time_start),6,'.',','); ?>
  42.  
  43.  


-----
Truly yours, Sasha.
 
My status
 Top
EuGen Администратор
Отправлено: 23 Января, 2009 - 10:24:31
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Valenok - а почему бы не использовать source?
Цитата:

source file_name, \. file_name

Reads the named file and executes the statements contained therein. On Windows, you can specify pathname separators as / or \\.



Иначе говоря, за некоторым упрощением:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. //...
  4. mysql_query("SOURCE dump.sql");
  5. //...
  6. ?>
  7.  

Или я неверно понял задачу?


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
valenok Модератор
Отправлено: 23 Января, 2009 - 11:31:15
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




В принципе можно и SOURCE использовать.
Если бы я о нем вспомнил раньше чем написал то что выше =)


-----
Truly yours, Sasha.
 
My status
 Top
zeit
Отправлено: 13 Июля, 2009 - 15:44:30
Post Id


Частый гость


Покинул форум
Сообщений всего: 134
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. //...
  3. mysql_query("SOURCE dump.sql");
  4. //...
  5. ?>
  6.  


К примеру, файл dump.sql лежит в папке \sql относительно корня директории сайта. Пусть к файлу dump.sql в этом коде относительно чего надо указывать? То есть так: mysql_query("SOURCE sql\dump.sql" );?

(Отредактировано автором: 13 Июля, 2009 - 15:44:58)

 
 Top
Viper
Отправлено: 14 Июля, 2009 - 07:52:27
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




путь \.\полный_путь_к_дампу\dump.sql


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Пользовательские функции »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB