Почему дамп Site Keeper Dumper получается в 4 раза меньше?

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
AlexSh1
phpBB 1.4.3
Сообщения: 92
Стаж: 20 лет 2 месяца

Почему дамп Site Keeper Dumper получается в 4 раза меньше?

Сообщение AlexSh1 »

Раньше бэкапил через панель административную, а тут поиспользовал Site Keeper Dumper и бэкап (несжатый) получился в 4 раза меньше. В чем причина?
DedPichto
phpBB 1.4.4
Сообщения: 104
Стаж: 20 лет 3 месяца

Сообщение DedPichto »

Ага, я тоже прифигел, когда Mysqldump выдавал бекапы на 170 мега, а Dumper выдал 40 метров несжатого и 20 метров сжатого файла.

Но могу сказать, что я в тестовых целях восстанавливал из архива Dumper'а инфу в тестовую базу и подключал ее к форуму - вроде все работало.
Аватара пользователя
Alexis1805
phpBB 1.4.3
Сообщения: 87
Стаж: 20 лет 2 месяца

Сообщение Alexis1805 »

Думаю, что при бэкапе упускаются таблицы, точнее их содержание, не влияющие на работу форума. Например phpbb_search_wordlist, которая весит треть от всей базы.
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 20 лет 4 месяца
Откуда: Москва

Сообщение Coagulant »

AlexSh1
Site Keeper Dumper, насколько мне известно, в phpbb имеет лишь косвенное отношение. Можете спросить у его автора.
DedPichto
phpBB 1.4.4
Сообщения: 104
Стаж: 20 лет 3 месяца

Сообщение DedPichto »

Нет, он дампит все таблицы. Размер восстановленной тестовой базы в phpbb соответствовал оригиналу, с которого делался бекап.
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 21 год 2 месяца
Поблагодарили: 2 раза

Сообщение Xpert »

Я думаю он делает дамп без имен полей, просто голая вставка. Довольно опасный прием для бекапа - если понадобится восстановление данных в таблицу, в которую добавлено хоть одно новое поле, придется сначала вылить бекап в таблицу, соответствующую по структуре оригинальной (без новых полей), потом слить полный бекап (с именами полей) и потом уже его вылить в таблицу, которая подлежит восстановлению.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
avm
Former team member
Сообщения: 582
Стаж: 20 лет 4 месяца
Откуда: Москва

Сообщение avm »

Если dump делается с "DROP TABLE" и следом "CREATE TABLE" перед самим дампом данных каждой таблицы (а это делается "как правило!" ) - то этот метод вполне безопасен!
выделенный сервер по цене обычного хостинга - менее 150 рублей в месяц
Благодарности принимаются в Яндекс.Деньгах на счет 4100143316948
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 21 год 2 месяца
Поблагодарили: 2 раза

Сообщение Xpert »

avm
Да даже в таком случае, imho. Я не говорю, что он небезопасен, просто мало ли для чего потребуется backup. В случае если будет необходимо восстановить часть данных, такое восстановление потребует не совсем простых действий.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
zapimir
phpBB 1.0.0
Сообщения: 2
Стаж: 20 лет 3 месяца

Сообщение zapimir »

Раньше бэкапил через панель административную, а тут поиспользовал Site Keeper Dumper и бэкап (несжатый) получился в 4 раза меньше. В чем причина?
В дампе дампера мимимум служебных данных, поэтому и получаются файлы максимально компактные.

Поясню на примере, есть несколько вариантов бекапа:

Вариант 1.
INSERT INTO table (field1, field2) VALUE (1, 'Значение 1');
INSERT INTO table (field1, field2) VALUE (2, 'Значение 2');
INSERT INTO table (field1, field2) VALUE (3, 'Значение 3');

Довольно наглядно видно что в этом случае служебные данные будут занимать большую часть файла-бекапа.

Вариант 2.
INSERT INTO table VALUE (1, 'Значение 1');
INSERT INTO table VALUE (2, 'Значение 2');
INSERT INTO table VALUE (3, 'Значение 3');

Тут уже меньше служебных данных, но тоже чувствуется.

Вариант 3. Extended Inserts
INSERT INTO table VALUE
(1, 'Значение 1'), (2, 'Значение 2'), (3, 'Значение 3');

Этот вариант наиболее компактный, кроме того он и наиболее быстрый, т.к. mysql нужно парсить меньше данных + индексы обновляются после добавления всех записей, а не после каждой. Именно этот вариант и использует дампер.
В случае если будет необходимо восстановить часть данных, такое восстановление потребует не совсем простых действий.
Это не совсем так, в любом случае дамп нужно править, как минимум удалить от туда удаление и создание таблицы. Чтобы загнать дамп сделанный дампером в модифицированную таблицу, нужно лишь добавить названия полей, т.е. в нашем случае:
INSERT INTO table (field1, field2) VALUE
(1, 'Значение 1'), (2, 'Значение 2'), (3, 'Значение 3');

Так что нет ничего страшного, главное ведь данные сохранить :)
AlexSh1
phpBB 1.4.3
Сообщения: 92
Стаж: 20 лет 2 месяца

Сообщение AlexSh1 »

zapimir
А скрипт можно как-то выкладывать в недоступные другим пользователям подкаталоги сайта?
DedPichto
phpBB 1.4.4
Сообщения: 104
Стаж: 20 лет 3 месяца

Сообщение DedPichto »

AlexSh1
Создай директорию, поставь на нее пароль и положи туда скрипт.

Вернуться в «Поддержка phpBB 2.0.x»