Восстановить удаленные сообщения с форума

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Вернуть сообщения

Сообщение Пчелкин »

Я это делал!
1. Делаем Бекап сейчашний..
2. Восстанавливаемся до удаления.
3. Копируем нужные сообщения в локалку обычным текстом.(удаленные сообщения себе в комп, смотрим время сообщений,записываем)
я восстанавливал 125 сообщений, но восстановил, правда повозился изрядно.
4. Возвращаемся на сегодняшний бекап.
4. Делаем сообщения от себя там, где надо.
5. Устанавливаем им время модом Change Post Time, меняя автора СЕБЯ на нужного.

все.
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Sandro36
phpBB 1.0.0
Сообщения: 2
Стаж: 16 лет 5 месяцев

Re: Вернуть сообщения

Сообщение Sandro36 »

А как нить побыстрее можно?) Около 1500 сообщений просто
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 9 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Вернуть сообщения

Сообщение nissin »

Быстрее, если только есть имеются знания MySQL и структуры таблиц phpBB.
Если кратко:
  1. разворачиваем резервную копию в другую БД.
  2. в таблице сообщений оставляем только нужные сообщения, которых нет в рабочей БД.
  3. копируем сообщения в рабочую БД.
  4. делаем синхронизацию в администраторском разделе.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Вернуть сообщения

Сообщение Пчелкин »

nissin
А как же с уникальными номерами "удаленных" сообщений? У меня ТАК как вы советуете ТОГДА не получилось..Что-то там БД вякала об одинаковых параметрах таблицы...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 9 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Вернуть сообщения

Сообщение nissin »

Пункт 2.
ID у каждого сообщения уникальный, поэтому пересекаться они не могут, тем более я это специальным запросом проверяю.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Вернуть сообщения

Сообщение Пчелкин »

То есть ID сообщения, которое я удалил с форума больше не заполняется в БД?
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Shredder
Former team member
Сообщения: 2266
Стаж: 17 лет 9 месяцев
Благодарил (а): 283 раза
Поблагодарили: 584 раза

Re: Вернуть сообщения

Сообщение Shredder »

Пчелкин
Совершенно верно.
bullion
phpBB 1.2.0
Сообщения: 11
Стаж: 17 лет 3 месяца
Благодарил (а): 1 раз

Re: Восстановить удаленные сообщения с форума

Сообщение bullion »

А если кроме сообщений еще и темы удалены?
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 9 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Восстановить удаленные сообщения с форума

Сообщение nissin »

Аналогично.
San4
phpBB 1.0.0
Сообщения: 9
Стаж: 11 лет 4 месяца
Благодарил (а): 9 раз
Поблагодарили: 1 раз

Re: Восстановить удаленные сообщения с форума

Сообщение San4 »

nissin писал(а): в таблице сообщений оставляем только нужные сообщения, которых нет в рабочей БД.
а как это сделать? Есть какой-нибудь запрос для этого? Вручную, не реально же искать и удалять :o ! (на форуме, около 15 тыс. постов)

ЗЫ: У меня такая проблема: удален пользователь с 1000 постами + еще удалено около 1500 постов другого пользователя. Но есть бэкап БД до удаления. С даты этого бэкапа уже появилось много новой инфы и пользователей.
Как восстановить удаленные посты и пользователя без потери новых данных?
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 9 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Восстановить удаленные сообщения с форума

Сообщение nissin »

Нужны знания MySQL. Например удаляем сообщения, которые есть в другой таблице:
DELETE FROM ... WHERE post_id IN (SELECT post_id from ...)
San4
phpBB 1.0.0
Сообщения: 9
Стаж: 11 лет 4 месяца
Благодарил (а): 9 раз
Поблагодарили: 1 раз

Re: Восстановить удаленные сообщения с форума

Сообщение San4 »

Я так понимаю, что без знаний, чайнику лучше не соваться, т.к одним запросом дело не обойдется? :(
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 9 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Восстановить удаленные сообщения с форума

Сообщение nissin »

Да, верно.
Shredder
Former team member
Сообщения: 2266
Стаж: 17 лет 9 месяцев
Благодарил (а): 283 раза
Поблагодарили: 584 раза

Re: Восстановить удаленные сообщения с форума

Сообщение Shredder »

San4 писал(а):
nissin писал(а): в таблице сообщений оставляем только нужные сообщения, которых нет в рабочей БД.
а как это сделать? Есть какой-нибудь запрос для этого? Вручную, не реально же искать и удалять :o ! (на форуме, около 15 тыс. постов)

ЗЫ: У меня такая проблема: удален пользователь с 1000 постами + еще удалено около 1500 постов другого пользователя. Но есть бэкап БД до удаления. С даты этого бэкапа уже появилось много новой инфы и пользователей.
Как восстановить удаленные посты и пользователя без потери новых данных?
В архиве 2 скрипта, topics_restore.php для восстановления удалённых тем и users_restore.php для восстановления пользователей. Делается это так: закачиваете имеющийся бекап в соседнюю БД, открываете скрипт редактором Notepad++ и указываете там настройки этой БД, потом запускаете скрипт и смотрите, что получилось. Перед запуском обязательно делаете резервную копию рабочей БД, на всякий случай.
Если восстанавливать нужно не темы, а посты отдельного пользователя из разных тем, то скрипт для тем нужно модифицировать.
Восстановление данных.zip
А впредь лучше думайте, прежде, чем кого-то удалять. Если это сделали нерадивые модераторы - оторвите им руки.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
San4
phpBB 1.0.0
Сообщения: 9
Стаж: 11 лет 4 месяца
Благодарил (а): 9 раз
Поблагодарили: 1 раз

Re: Восстановить удаленные сообщения с форума

Сообщение San4 »

Попробовал! Пользователь восстановился! Изображение

Но вот, с восстановлением постов проблема. :( Просто так, ничего не восстанавливается (скрипт срабатывает, но изменений нет)
В скрипте есть строчка:

Код: Выделить всё

// ID нужных вам тем для восстановления, через запятую
$res_array = array(9, 70);
Я так понимаю в ней нужно указать ID всех тем форума?

PS:
Удаленные посты присутствовали на 99% в каждой теме. Т.е в сегодняшней БД все старые темы остались, только вот, они сильно «похудели», т.к из них исчезли посты двух активных пользователей. (вот эти посты я хотел бы «вставить» на место (из имеющегося бэкапа)

Попробовал еще сделать так: добавил в скрипт ID одной из тем. И запустил скрипт, но скрипт выдал ошибку:

Код: Выделить всё

Общая ошибка
SQL ERROR [ mysqli ]

Duplicate entry '179' for key 'PRIMARY' [1062]

SQL

INSERT INTO phpbb_topics SELECT * FROM phpbb.phpbb_topics WHERE topic_id = 179

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/includes/db/dbal.php
LINE: 757
CALL: trigger_error()

FILE: [ROOT]/includes/db/mysqli.php
LINE: 189
CALL: dbal->sql_error()

FILE: [ROOT]/topics_restore.php
LINE: 44
CALL: dbal_mysqli->sql_query()
попытался исправить ошибку :mrgreen: 
удалил эту тему из форума. И снова запустил скрипт. На этот раз, все получилось ! тема снова обрела все ранее удаленные посты от этих двух пользователей. Но действие ограничилось лишь этой темой. Ну и исчезли все новые посты (после даты бэкапа). т.е таким способом я просто выборочно восстановил одну тему из бэкапа ) :?

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