Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: MYSQL резервирование и восстановление
 
 автор: Jura   (26.11.2005 в 12:17)   письмо автору
 
 

Добрый всем день. У меня есть проблема. Суть в следующем в наличии удаленный хостинг, там mysql база.
Объем базы 70 Мб.
Ни одна из систем резирвирования (SK dumper, скрипт резервирования от SOFTTIME), которые я знаю не справляется с указанным объемом.
База находится в sql файле размером 56 метров.

Хелп. Подскажите плиз какую-нить маленькую прогу, которая смогла бы выполнить SQL запрос на локальном деневере (необязательно скрипт), а на хостинг я уже перенесу после оптимизации.


Помогите плиз...

   
 
 автор: cheops   (26.11.2005 в 13:08)   письмо автору
 
   для: Jura   (26.11.2005 в 12:17)
 

Вы не за одни раз тащите, а потаблично и большие таблицы кусками. Дело в том, что под PHP скрипт отводится ограниченный объём памяти (8, реже 16 Мб) и он не может в себя вобрать такие объёмы - вылетает с ошибкой, как только осуществляется попытка зарезервировать больше памяти чем дозволено. Пользуйтесь директивой LIMIT.

У вас имеется на хостинге панель phpMyAdmin?

   
 
 автор: Loki   (26.11.2005 в 13:30)   письмо автору
 
   для: Jura   (26.11.2005 в 12:17)
 

Дарю безвоздмездно, то есть даром:)
принцип работы следующий:
запускаем дайл arcsql.php
данные тянуться из БД в течение 25 сек. По достижении этого времени, все что вытянули - архивируем и записываем в файл. в БД делаем пометку где остановились, затем, скрипт снова вызывает сам себя и тянет данные дальше. В итоге у нас получается папка с архивом БД. Все это по фтп прем на новое место, где запускаем файл insql.php, и он начинает, вызывая сам себя, по очереди все архивы находящиеся в папке закидывать в БД.

Перед началом экспорта, надо создать таблицу arxiv из файла arxiv.sql. Структуру таблиц скрипт не переносит, так что создать на новом месте их придется вручную (phpmyadmin вам в помощь:)

   
 
 автор: Jura   (26.11.2005 в 14:10)   письмо автору
 
   для: Loki   (26.11.2005 в 13:30)
 

Loki сейчас попробую. о результатах отпишусь.

   
 
 автор: Jura   (26.11.2005 в 14:25)   письмо автору
 
   для: Jura   (26.11.2005 в 14:10)
 

Изюмительная весчь! спасибо. половину уже восстановил.
Молодец Loki, ОГРОМНЕЙШЕЕ СПАСИБКИ!!!

   
 
 автор: denvor   (28.11.2005 в 16:34)   письмо автору
 
   для: Jura   (26.11.2005 в 14:25)
 

Еще можно использовать встроенную команду unix-систем mysqldump - она имеет параметр (по-моему -file) которая позволяет сбрасывать результаты работы сразу на диск, при этом снимаются ограничения по памяти. К тому же, работает быстрее - ограничения по времени не столь критичны. ИМХО, для автоматизации бэкапа - то что надо.
Например:

/usr/local/bin/mysqldump -uпользователь -Pпорт -hхост -pпароль база | gzip -c > /bhome/part3/01/mifs/backup/mysql_mifs_dump_'date "+%Y-%m-%d"'-sql.gz

создаст архив дампа с датой создания в имени файла. Остается только вставить в Cron для периодического запуска

   
 
 автор: Jura   (10.12.2005 в 14:17)   письмо автору
 
   для: denvor   (28.11.2005 в 16:34)
 

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

   
 
 автор: denvor   (12.12.2005 в 10:10)   письмо автору
 
   для: Jura   (10.12.2005 в 14:17)
 

неужели есть еще такие хостеры? Уже за 1$ в месяц можно иметь крон и полную панель управления. А, это , наверное, кто-то из бесплатных?

   
 
 автор: zapimir   (16.12.2005 в 18:54)   письмо автору
 
   для: Jura   (26.11.2005 в 12:17)
 

А с помощью чего делался sql_файл? И какую ошибку выдавал dumper?
Вообще единственное ограничение которое может остановить дампер, это жесткое ограничение по времени (которое нельзя изменить). Что касается памяти, то дамперу её объём безразличен, он не читает весь sql-файл в память. Именно по этому дампером довольно регулярно гоняют с хоста на хост базы по 500-800 метров, а вообще из известных мне рекордов база более 2,5 ГБ.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования