PDA

Показать полную графическую версию : [решено] Резервное копирование БД на PHP.


Artem-Samsung
02-07-2009, 23:10
Всем привет.
Спасибо Sham за ссылку (http://www.mysql.ru/docs/man/Backup.html) о резервном копировании, которую мне предоставил в темку "Ищу скрипт".
Напомню, я писал:

Хочу вставить в админку функцию создания резервной копии таблици с товарами. Т.е. нужно сгенерировать sql запрос. Может есть у кого что то на подобии?

Так вообщем, пока у меня ничего не получается.
Решил создать отдельную тему.

В руководстве конечно больше внимания приделяется резервному копированию из командной строки.
Такой возможности нету.

Нужно создать php скрипт, и что бы заказчик самостоятельно мог делать резервные БД зайдя в мою самописную админку.

Пытался воспользоваться функцией BACKUP TABLE.

BACKUP TABLE de_goods TO '/hsphere/local/home/'

Попробовал запустить сценарий через PHPMyAdmin, получив ответ:

#1227 - Access denied; you need the FILE privilege for this operation
Как понимаю, мне хостер не дает некое право на создание файла.

Вообщем пока ничего не получается, может кто то помочь?

Sham
03-07-2009, 02:04
а без привелегии FILE ничего не получится, если сохранять в файл с помощью MySQL...
проще всего в phpmyadmin поискать ссылочку "привелегии" (или запросом (http://www.mysql.ru/docs/man/GRANT.html)), и если нет, то попросить хостера предоставить юзеру бд привелегию FILE ...
php-скриптом можно сделать дамп, но имхо для этого потребуется оч много системной памяти (в php.ini указан лимит)...

Artem-Samsung
03-07-2009, 16:13
php-скриптом можно сделать дамп »
А можно с этого момента поподробней?
Есть какой то готовый скриптик?

Igor_I
03-07-2009, 18:33
Посмотри http://dev.mysql.com/doc/refman/5.0/en/mysqlhotcopy.html. Но нужен перл.

dmitryst
03-07-2009, 19:43
Но нужен перл. »
да. Но зато работает из командной строки. Можно открыть сам скрипт и сваять то же на пхп :)

Sham
04-07-2009, 02:18
хм... выполнять бекап с помощью скрипта - это самим скриптом формировать дамп нужного содержания, т.е. делать запросы в таблицу, и класть данные в файл в виде запроса INSERT/REPLACE, предварительно положив туда запрос создания самой таблицы и индексов...

примерно такой бекап (с указанным ограничением размера) делает phpmyadmin (можно закачать дамп к себе и посмотреть содержимое). В конце концов можно посмотреть скрипты самого phpmyadmin.

Если таблица большая, то такой скрипт потребует много памяти, и придется делать запросы порциями, либо снимать ограничения (что чревато)...

Подозреваю (не видел), что указанный перл-скрипт использует средства MySQL, и поэтому для его выполнения все-равно нужна привелегия FILE для юзера mysql...

DedAlex
06-07-2009, 01:38
Я пользуюсь этим (http://sypex.net/products/dumper/downloads/) скриптом. Очень им доволен.




© OSzone.net 2001-2012