Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Закачка дампов на хост, ...Огроомных дампов :) 
:(
    Опции темы
Vidocq
  Дата 15.4.2005, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 431
Регистрация: 15.12.2004
Где: Запорожье, Украин а

Репутация: нет
Всего: 7



Задача следующая:

надо залить на хост и развернуть там здоровенный дамп (под 3мб). Сёдня узнал, что phpMyAdmin не хавает дампы больше 2 мб. Пришла мысля - резать дамп на куски. Но по дайл-апу всё равно будет оч медленно. Даже если дампы по 700-800 кб. Слышал что-то про gzip... но что это за чудо и на что его намазывают - нэ наю smile

Кто что будет посоветовать? smile


--------------------
Всё течёт ©
PM MAIL ICQ   Вверх
Secandr
Дата 15.4.2005, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 6
Всего: 39



залить на сервер файл и при помощи mysql.exe прикрутить дамп.


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Irokez
Дата 15.4.2005, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 5
Всего: 53



делаешь дамп в пхпмайадмине и ставишь галочку - gzip
заходишь на хост в пхпмайадмин, делаешь выполнить СКЛ запрос из файла, ставишь голочку - gzip
PM   Вверх
Vidocq
Дата 16.4.2005, 03:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 431
Регистрация: 15.12.2004
Где: Запорожье, Украин а

Репутация: нет
Всего: 7



Irokez

Всего-то?
Буду пробовать


--------------------
Всё течёт ©
PM MAIL ICQ   Вверх
Wowa
Дата 16.4.2005, 03:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



bigdump.php - поищи. Хорошая утилита для таких целей.
PM WWW   Вверх
Vidocq
Дата 18.4.2005, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 431
Регистрация: 15.12.2004
Где: Запорожье, Украин а

Репутация: нет
Всего: 7



Wowa
Спасибо, буду копаться...

Irokez
Пробовал - не помогло. После довольно продолжительного времени (6-7 минут) обработки гзип-дампа сервер выдал сообщение об ошибке, не помню уже какой. Так пришлось только часть из 2000 записей залить. Здесь сработало. Но ещё осталось 40 000 записей зпихать в БД smile


--------------------
Всё течёт ©
PM MAIL ICQ   Вверх
Cetus
Дата 22.4.2005, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 18.4.2004

Репутация: 1
Всего: 1



писал скрипт для себя, но может и тебе пригодится

1. получал дамп следующим образом
mysqldump -u USERNAME -p DATABASENAME > DUMPFILENAME
2. заливал install.php и файл с дампом на сервер,
3. затем запускал в броузере http://www.blablabla.ru/install.php

и все, дамп на серваке smile

тебе можно порезать дамп на несколько файлов и частями их заливать,
главно чтобы все строки разделялись точкой_с_запятой.

----------- begin Install.php -----------------
Код

<?php
// здесь выставить свои данные
  $User = USERNAME;
  $Password = PASSWORD;
  $DataBase = DATABASENAME;
  $DumpFileName = DUMPFILENAME;  
  $Host = 'localhost';
  $Port = 3306;
  $HostPort = $Host . ':' . $Port;

// здесь уже ничего не трогать 
  $link = mysql_connect($HostPort, $User, $Password) or die('can`t connect');
  mysql_select_db($DataBase, $link);

  $file = fopen($DumpFileName, 'r');
  $string = '';
  $dump = '';

  while (!feof($file))
  {
    $string = fgets($file);
    $string = substr($string, 0, strlen($string)-2);
    if  (($string != $CRLF) and  ($string[1] != '-') and (strlen($string) != 0))
    {
      $dump = $dump.$string;
    }
  }
  fclose($file);

  printf('<B>Dumping...</B><BR>');
  while (strlen($dump) != 0)
  {
// сл строку можно заменить  на : $string = substr($dump, 0, strpos($dump, ';') + 1);
    $string = substr($dump, 0, strpos($dump, ';')).';';
    printf($string.'<BR>');
    mysql_query($string, $link);
    $dump = substr($dump, strpos($dump,';') + 1);
  }
  printf('<B>Dump Finished</B>');

  mysql_close($link);
?>

----------- end install.php ---------------

Это сообщение отредактировал(а) Ignat - 3.5.2005, 08:39
--------------------
Легко внести изменения в код.Трудно сделать это корректно.
PM MAIL   Вверх
Vidocq
Дата 22.4.2005, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 431
Регистрация: 15.12.2004
Где: Запорожье, Украин а

Репутация: нет
Всего: 7



Cetus
Проблема решилась без моего участия smile
Но всё равно спасибо ;)



--------------------
Всё течёт ©
PM MAIL ICQ   Вверх
Cetus
Дата 30.4.2005, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 18.4.2004

Репутация: 1
Всего: 1



если кто будет пользовать...
здесь поправлены некоторые баги, предыдущий скрипт глючил на некоторых дампах.

Код

<?php

  /* Config values */
  $Host = 'localhost';
  $Port = 3306;
  $User = 'cetus';
  $Password = '1';
  $DataBase = 'ffff';
  $DumpFileName = 'fors.sql';

  /* Used for connection */
//  $HostPort = $Host . ':' . $Port;       // for custom port
  $HostPort = $Host;                     // for default port


  if (!file_exists($DumpFileName))
  {
    die ('Dump  file  '.$DumpFileName.'  not  found.');
  }

  $link = mysql_connect($HostPort, $User, $Password) or die('Can`t connect to '.$HostPort);
  mysql_select_db($DataBase, $link);

  $dump = '';
  $vector = array();
  $file = fopen($DumpFileName, 'r');
  if (!$file)
  {
    mysql_close($link);
    die('Error open file: ' . $file);
  }

  while (!feof($file))
  {
    $string = rtrim(fgets($file));
    if ( (strlen($string) != 0) and (strcmp(substr($string,0,2), '--') != 0) )
    {
      $dump .= $string;
      if (strcmp($dump[strlen($dump)-1], ';') == 0)
      {
        array_push($vector, $dump);
        $dump = '';
      }
    }
  }
  fclose($file);

  $CRLF = "\x0D\x0A";
  printf('<B>Dumping...</B><BR>');
  for ($i=0; $i < count($vector); $i++) {
    printf($vector[$i].'<br>'.$CRLF);
    mysql_query($vector[$i]);
  };
  printf('<B>Dump Finished</B>');

  mysql_close($link);

?>


Это сообщение отредактировал(а) Ignat - 3.5.2005, 08:37
--------------------
Легко внести изменения в код.Трудно сделать это корректно.
PM MAIL   Вверх
Ignat
Дата 3.5.2005, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 21
Всего: 73



Cetus, а что же ты такой коротенький скрипт выложил и всего лишь два раза?
Надо было постить сразу на пару тысяч строк, как ты правильно заметил, тегами code пользоваться вовсе не обязательно.



--------------------
Теперь при чем :P
PM   Вверх
Cetus
Дата 3.5.2005, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 18.4.2004

Репутация: 1
Всего: 1



Почему же ты молчал после первого моего поста с этим скриптом?
--------------------
Легко внести изменения в код.Трудно сделать это корректно.
PM MAIL   Вверх
Ignat
Дата 3.5.2005, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 21
Всего: 73



Цитата(Cetus @ 3.5.2005, 16:11)
Почему же ты молчал после первого моего поста с этим скриптом?

А вдруг одумаешься, проявишь сознательность и понимание smile
Вроде все к тегам уже привыкли, мало ли - один раз в спешке забыл по кнопочке ткнуть. А два раза - это уже привычка.


--------------------
Теперь при чем :P
PM   Вверх
skalex
Дата 3.5.2005, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: нет
Всего: 23



Многие наверно знают, но все же скажу ...
Можно значительно уменьшить размер дампа БД, если выполнять команду mysqldump c опцией --opt.
PM   Вверх
Гость_Cetus
Дата 4.5.2005, 11:08 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Iqnat, окей почитаю, буду пользоваться тегами smile
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.1070 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.