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
Форумы портала PHP.SU :: Версия для печати :: Загрузка дампа базы 1.38ГБ.
Форумы портала PHP.SU » Серверное администрирование » Администрирование БД » Загрузка дампа базы 1.38ГБ.

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

1. event - 26 Июля, 2011 - 21:33:48 - перейти к сообщению
Добрый вечер !
Ребята у меня сложилась такая ситуация, есть локальный веб-сервер AppServ, OС Windows, нужно залить базу размером 1.38ГБ, попробовал Sypex Lite дампером, когда я выполнил настройки, нажал залить дамп, то он заливался бесконечно, я 15 минут подождал, ничего, попользовался поиском, нашел такой скрипт:
PHP:
скопировать код в буфер обмена
  1.  
  2. $db = new mysqli("localhost", "root", "123456", "rus");
  3. $file = trim(file_get_contents("bases.sql"));
  4. $db->multi_query($file);
  5.  

При загрузке дампа весом 1.38ГБ, мне выбило следующий текст:
Fatal error: Allowed memory size of 947912704 bytes exhausted (tried to allocate 1486408074 bytes) in C:\AppServ\www\1.php on line 4, потом я попробовал загризуть дамп весом 5МБ, загрузилось все отлично.
Ну вот как быть в моей ситуации?.
2. OrmaJever - 26 Июля, 2011 - 21:51:39 - перейти к сообщению
нужно увеличить память в php.ini

Сечас доступно 947912704 байт, а нужно 1486408074. Надо эту цыфру перевести в мб и написать чуть больше (для резерва) Подмигивание
3. event - 27 Июля, 2011 - 01:45:13 - перейти к сообщению
OrmaJever пишет:
нужно увеличить память в php.ini

Сечас доступно 947912704 байт, а нужно 1486408074. Надо эту цифру перевести в мб и написать чуть больше (для резерва) Подмигивание


Сделал все как Вы сказали в php.infi изменил memory_limit = 16М, на memory_limit = 1024M, потом еще создал файл .htaccess, с содержанием php_value memory_limit 1024M, так сказать чтобы уже наверняка, перезапустил apache, попробывал выбыло ошибку:
Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 1486408074 bytes) in C:\AppServ\www\1.php on line 4, потом задумался над memory_limit 1024M, я так понимаю это сколько скрипт может использовать оперативной памяти, а у меня же ее 768МB, наверное из за этого выходит эта ошибка, что еще можно сделать?.
4. Мелкий - 27 Июля, 2011 - 09:28:06 - перейти к сообщению
event пишет:
При загрузке дампа весом 1.38ГБ

event пишет:
$file = trim(file_get_contents("bases.sql"));

Вас не смущеает, что вы весь дамп пытаетесь загрузить в переменную? Т.е. переменная будет 1,38Гб.

Если есть возможность положить дамп в область видимости mysql'а - http://dev[dot]mysql[dot]com/doc/refman/[dot][dot][dot]n/load-data[dot]html

event пишет:
отом задумался над memory_limit 1024M, я так понимаю это сколько скрипт может использовать оперативной памяти, а у меня же ее 768МB

В своп полезет. 1Гб памяти уже выделен, но нужно полтора.
5. Данил_123 - 04 Октября, 2011 - 21:50:03 - перейти к сообщению
Цитата:
Мелкий В своп полезет. 1Гб памяти уже выделен, но нужно полтора.
Это не факт, смотря сколько памяти выделено на своп, возможно ее вообще не выделено
6. Мелкий - 04 Октября, 2011 - 22:19:10 - перейти к сообщению
Данил_123, верно, да.
7. DeepVarvar - 04 Октября, 2011 - 22:54:21 - перейти к сообщению
Google => Big Dump (но с ним чота какие то сложности)

Лучше напишите свой с seek'ами по открытому файлу. Пых оно так может, равно и на форточной платформе.
8. Stierus - 15 Ноября, 2011 - 16:10:10 - перейти к сообщению
эммм ... кул

 

Powered by ExBB FM 1.0 RC1