Скрипт предназначен для создания sql-dump'ов для MySql базы данных и для восстановления баз по существующим дампам. Скрипт может пользоваться дампами, созданными практически всеми программами работы с MySql. phpMyAdmin, SypexDumper, SQLYog...
Предназначен для работы в первую очередь на небольших ненагруженных проектах, так как на больших и нагруженных адиминистраторы должны и сами позаботится о создании резервных копий базы ;) Тем не менее, скрипт тестировался на sql-дампе размером 300mb и gzip'е размером 150mb.
- При создании дампа проверяется время изменения таблиц. Таким образом гарантируется корректный дамп при отсутствии блокировки базы. Тем самым, фактически, выполнение скрипта не сильно сказывается на производительности сервера.
- Весь скрит занимает один файл и его удобнее доставить до "аварийного" места, чем более сложные утилиты
- Скрипт может работать без права на запись в файловой системе сервера. Изготовленный дамп может быть отгружен непосредственно броузеру. Подгруженный файл будет обработан.
###режим непосредственного исполнения операции и online.
В режиме непосредственного выполнения
все управление скриптом идет через адресную строку. Параметры передаются в URI стиле, после символа ?
. Включается режим указанием параметров restore и backup. При отсутствии этих параметров скрипт выведет форму online режима.
backup.php?restore&file=tmp.sql&code=cp1251
- восстановление базы из файла tmp.sql. Используется кодовая таблица cp1251backup.php?backup&include=darts_*,SESSION&exclude=*_tmp
- создание backup'а с использованием таблиц, с именами подходящими под маску darts_* или SESSION и не подходящих под маску *_tmp
Параметры идут вместе со своими значениями по умолчанию.
host=localhost
- имя хоста базы данныхuser=root
имя пользователяpassword=
пароль пользователя
эти параметры передавать через адресную строку опасно, так что более корректно будет поправить их значения в исходнике скрипта.
base=tmp
- имя базы данных. при отсутствии базы данных сообщение об этом будет выведено в окно броузера, дальнейшая работа скрипта прекратится.include=*
- маска в DOS стиле со * и ? .exclude=
- маска в DOS стиле со * и ? .compress=9
- уровень компрессии при использовании метода GZmethod=sql.gz
-sql.gz|sql.bz2|sql
- использовать gz,bz2 или plain sqlonthefly=0
- создаваемый дамп будет упакован GZ и выдан для непосредственного созранения броузером. Сохранения на сервере не производится.file=
- имя файла SQL-дампа для чтения или каталог (с / на конце) для создания базыcode=utf8
- инструкция дляset NAMES 'code'
progressdelay=1
- время, между выводом сообщений о прогрессе операции создания/восстановления.sql=
- непосредственно выполнить sql текст.sql=select * from database;
появляется возможность выполнить дополнительные операции. В этом случае в броузер выводится форма, которая имеет
- поле загрузки файла. Можно загрузить дамп и восстановить базу по нему. Реальной загрузки файла не происходит, после восстановления файл удаляется.
- поле вставки дампа. Не стоит вставлять сюда очень большой текст. При вставке следует следить за корректностью русских букв. Если во вставленном тексте закорюки - что-то делается неправильно :) При вставке в текстовое поле параметр code игнорируется и используется utf8.
- поле выбора уже загруженного файла. Каталог, из которого будут выбираться файлв определяется параметром file адресной строки. Каталог из этого параметра и является тем самым каталогом.
Чтобы выбрать восстановление дампа одним из этих способов нужно выбрать переключатель "restore"
Чтобы создать sql-дамп нужно выбрать переключатель "backup". Если при этом отметить флаг "не сохранять дамп на сервере" - созданный дамп будет отправлен прямо в броузер для сохранения на диске.
Тип создаваемого дампа определяется с помощью параметра method. Если параметр отсутствует - создается gzip архив.