Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Загрузка в MySQL больших объемов данных (http://www.flasher.ru/forum/showthread.php?t=66744)

Смольный (Smolniy) 15.07.2005 03:30

Загрузка в MySQL больших объемов данных
 
Вложений: 1
Написал на коленке, поставляется as is, комменты по качеству и рациональности не принимаются. :)
Было написано потому, что за несколько часов не нашел в ИНете готового скрипта. Может, искать плохо умею.
Задача - заливка в MySQL файла дампа таблицы размером, положим, метров 20 (в более общем случае - выполнение файла SQL-инструкций большого объема). PHPMyAdmin в таких случаях у меня как правило помирал на таймаутах или ограничениях на размер заливаемого по http файла. Для заливки таких объемов данных нужен доступ к импортеру в СУБД, а его хостеры как правило не дают.
Порядок действий. Создаем на хостинге папку. Заливаем в нее скрипт. Заливаем в нее файлы дампов. Указываем в браузере путь к этой папке. Скрипт показывает список файлов (zip, tar, gzip НЕ показывает!) У каждого файла показывается размер в байтах и две ссылки
-выполнить по шагам
-выполнить автоматически
Если выбрать "по шагам", то файл выполняется по сколько-то записей (например, по 100 команд), в конце страницы отчет о выполнении команд и ссылка для выполнения следующей страницы (следующих 100 команд).
Если выбрать "автоматически", то оно само рефрешит по ссылке на след. страницу с интервалом сколько-то секунд (например, через 2 сек).
В начале скрипта простыми переменными устанавливаются параметры доступа к СУБД, количество SQL-команд на страницу и время рефреша.
В качестве разделителя между SQL-командами воспринимается знак ; затем возврат каретки и перенос строки. Стандартный экспортер (равно как и PHPMyAdmin) генерят именно такой файл.
С битовыми данными работает, максимальный загруженный этим тулом в БД файл занимал 205Мб.

-MS- 15.07.2005 03:41

Цитата:

помирал на таймаутах
в пхп функция есть...set_time_limit(), если 0 ставить, то тайм аут глушится...

Смольный (Smolniy) 19.07.2005 02:46

Цитата:

Сообщение от -MS-
в пхп функция есть...set_time_limit(), если 0 ставить, то тайм аут глушится...

Ну не буду же я переписывать phpmyadmin на машине хостера - там и доступов нет. Да и вообще, опасен скорее таймаут Апача.

Самурай 07.11.2005 04:56

dumper.php
 
Вложений: 1
На одном из сайтов чтоадминистрирую встретил тулзу dumper.php (смольній сори твою не качал не видел, может она и есть).
Автором прописан некий замир или как там точно непомню.. голова и так от текущих проектов болит.

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

я чуть чуть переделал... и локализовал для украинского языка (не полностью) тож на коленке за двадцать минут =)))


вобщем и так все понятно...

JudgeFog 12.11.2005 19:00

Цитата:

Сообщение от -MS-
в пхп функция есть...set_time_limit(), если 0 ставить, то тайм аут глушится...

хостеры ее успешно отрубают


Часовой пояс GMT +4, время: 09:46.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.