Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Удалили пользователей, восстановить из старого дампа БД

Проблемы с установкой или работой phpBB 3.2.x? Получите помощь здесь!
Внимание: с 7 ноября 2020 года phpBB Group завершено дальнейшее развитие phpBB версии 3.2, а с 1 августа 2024 года будет прекращена её поддержка.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.

Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Tugus
phpBB 1.4.4
Сообщения: 135
Стаж: 5 лет 4 месяца
Благодарил (а): 46 раз

Удалили пользователей, восстановить из старого дампа БД

Сообщение Tugus »

Здравия! Вчера произошла авральная ситуация, удалили 80% пользователей. Есть старый дамп БД форума с большей частью пользователей. Возможно ли восстановить пользователей оттуда через phpmyadmin?
Аватара пользователя
Pazh
Former team member
Сообщения: 2317
Стаж: 14 лет 4 месяца
Благодарил (а): 43 раза
Поблагодарили: 506 раз
Контактная информация:

Re: Удалили пользователей, восстановить из старого дампа БД

Сообщение Pazh »

Можно, но одним запросом этого не сделать
Помощь в ЛС/email только за WM или ЮMoney
Аватара пользователя
Tugus
phpBB 1.4.4
Сообщения: 135
Стаж: 5 лет 4 месяца
Благодарил (а): 46 раз

Re: Удалили пользователей, восстановить из старого дампа БД

Сообщение Tugus »

Pazh, Пробую через экспорт-импорт. Так не получится?
Аватара пользователя
Pazh
Former team member
Сообщения: 2317
Стаж: 14 лет 4 месяца
Благодарил (а): 43 раза
Поблагодарили: 506 раз
Контактная информация:

Re: Удалили пользователей, восстановить из старого дампа БД

Сообщение Pazh »

При восстановлении все БД из бэкапа Вы потеряете все данные, которые были введены после создания бэкапа. Если Вам нужно восстановить только определенные данные, то если Вы не знаете хорошо структуру БД - то ничего не сможете самостоятельно сделать.
Юзеры удалялись с сообщениями или посты оставляли?
Помощь в ЛС/email только за WM или ЮMoney
Аватара пользователя
Tugus
phpBB 1.4.4
Сообщения: 135
Стаж: 5 лет 4 месяца
Благодарил (а): 46 раз

Re: Удалили пользователей, восстановить из старого дампа БД

Сообщение Tugus »

Pazh писал(а): 28.12.2018 11:06 Если Вам нужно восстановить только определенные данные, то если Вы не знаете хорошо структуру БД
да, этот вариант наш.
Pazh писал(а): 28.12.2018 11:06 Юзеры удалялись с сообщениями или посты оставляли?
имеется копия форума, где посты на месте, а пользователи даже если они авторы постов, удалены.

Что сделал теперь. Импортировал таблицу phpbb_users из дампа-запасника в дамп с удаленными. Они появились в списке пользователей на форуме (меню -> список пользователей). Но они не включились как авторы своих постов. Надо что-то еще сделать.
Аватара пользователя
Pazh
Former team member
Сообщения: 2317
Стаж: 14 лет 4 месяца
Благодарил (а): 43 раза
Поблагодарили: 506 раз
Контактная информация:

Re: Удалили пользователей, восстановить из старого дампа БД

Сообщение Pazh »

Tugus писал(а): 28.12.2018 11:16 Импортировал таблицу phpbb_users из дампа-запасника в дамп с удаленными
В результате этого Вы потеряли всех зарегистрированных после создания дампа юзеров. Надеюсь бэкап текущей базы (до импорта таблицы phpbb_users) у Вас остался?
Помощь в ЛС/email только за WM или ЮMoney
Аватара пользователя
Tugus
phpBB 1.4.4
Сообщения: 135
Стаж: 5 лет 4 месяца
Благодарил (а): 46 раз

Re: Удалили пользователей, восстановить из старого дампа БД

Сообщение Tugus »

Pazh писал(а): 28.12.2018 11:18 Вы потеряли всех зарегистрированных после создания дампа юзеров.
не понял, почему так ? Импортировал из базы А (старая) таблицу с юзерами. Потом экспортировал ее в базу Б (актуальная). Перед этим в базе Б. переименовал таблицу с юзерами на phpbb_users_old. Хочу понимать, где косячу?
Pazh писал(а): 28.12.2018 11:18 Надеюсь бэкап текущей базы (до импорта таблицы phpbb_users) у Вас остался?
о, конечно. описываемые эксперименты все проводятся на копиях на локалке.
Аватара пользователя
Pazh
Former team member
Сообщения: 2317
Стаж: 14 лет 4 месяца
Благодарил (а): 43 раза
Поблагодарили: 506 раз
Контактная информация:

Re: Удалили пользователей, восстановить из старого дампа БД

Сообщение Pazh »

Начинай:
1. Вам нужно восстановить таблицы phpbb_users и phpbb_user_group в (самое простое) отдельную БД - назовем ее DB2. А боевая база DB1
2. Выполнить запросы, заменив в них DB1 и DB2 на свои значения:

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

INSERT INTO DB1.phpbb_users select y.* from DB2.phpbb_users y where y.user_id not in (select x.user_id from DB1.phpbb_users x);
insert into DB1.phpbb_user_group select y.* from DB2.phpbb_user_group y where y.user_id not in (select x.user_id from DB1.phpbb_user_group x;
Отправлено спустя 13 минут 37 секунд:
3. А далее начинаются танцы с бубном с таблицей сообщений:

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

update db1.phpbb_posts p set p.poster_id = (select x.user_id from db1.phpbb_users x where x.username=p.post_username) where p.poster_id=1;
Отправлено спустя 8 минут 18 секунд:
а потом еще нужно восстановить удаленные записи в таблицах phpbb_acl_users, phpbb_attachments, phpbb_banlist, phpbb_bookmarks,
phpbb_drafts, phpbb_forums_watch, phpbb_poll_votes, phpbb_privmsgs_folder,
phpbb_privmsgs_rules, phpbb_privmsgs_to, phpbb_profile_fields_data,
phpbb_user_notifications, phpbb_warnings, phpbb_zebra
примерно по сценарию из пункта 2 запрос 1
Далее синхронизировать все подфорумы.

Возможно проще сделать наоборот (если бэкап свежий) - восстановить его, и на него накатаить именения из текущей БД (с удаленными юзерами) - нужно сравнивать.

Еще как вариант - если БД не большая, то экспортировать полностью обе БД и сравнить например в WinMerge или KDiff3 оба файла и слить их в один - возможно - это будет самый простой для Вас способ - начните с него. Если БД не большая
Помощь в ЛС/email только за WM или ЮMoney
Аватара пользователя
Tugus
phpBB 1.4.4
Сообщения: 135
Стаж: 5 лет 4 месяца
Благодарил (а): 46 раз

Re: Удалили пользователей, восстановить из старого дампа БД

Сообщение Tugus »

Pazh, бекап от 27 ноября. Тогда заканчивался переезд на движок с другого движка. Поэтому новых юзеров месяц несколько шт, не страшно потерять. То есть по логике можно просто закинуть тот бекап как рабочий на хостинг и руками скопировать в него все появившиеся за месяц посты, присвоив авторство, чьи они в оригинале. Через админку.
В чем большое НО. почти месяц наводили порядок в темах. Их чистили, переносили, создавали новые разделы, правили ссылки внутри постов (много) и чистили руками сообщения от кусов бб-кодов от старой сборки и все в таком духе.

Объем. юзеров было за 6 тыс, юзеров с постами где-то треть или четверть из них. DB 200 000 Kb.

Вопрос. Танцы с бубном по сравнению с описанным более простой вариант?
Pazh писал(а): 28.12.2018 11:46 2. Выполнить запросы, заменив в них DB1 и DB2 на свои значения:
Аватара пользователя
romaamor
phpBB 3.0.2
Сообщения: 2081
Стаж: 11 лет 11 месяцев
Откуда: Одесса
Благодарил (а): 707 раз
Поблагодарили: 161 раз
Контактная информация:

Re: Удалили пользователей, восстановить из старого дампа БД

Сообщение romaamor »

Pazh писал(а): 28.12.2018 11:46 Возможно проще сделать наоборот (если бэкап свежий) - восстановить его, и на него накатаить именения из текущей БД (с удаленными юзерами) - нужно сравнивать.
А ещё проще установить расширение - авто быкап. Или взять за правило делать копию хоть раз в три дня.
Аватара пользователя
Pazh
Former team member
Сообщения: 2317
Стаж: 14 лет 4 месяца
Благодарил (а): 43 раза
Поблагодарили: 506 раз
Контактная информация:

Re: Удалили пользователей, восстановить из старого дампа БД

Сообщение Pazh »

Tugus, в таком случае я бы советовал идти длинной, но надежной дорОгой - постепенно вручную восстанавливать удаленные данные в текущей БД из бэкапа.
romaamor, поздно пить Боржоми, когда почки отвалились
Помощь в ЛС/email только за WM или ЮMoney
Аватара пользователя
Tugus
phpBB 1.4.4
Сообщения: 135
Стаж: 5 лет 4 месяца
Благодарил (а): 46 раз

Re: Удалили пользователей, восстановить из старого дампа БД

Сообщение Tugus »

romaamor, Копии делались на хостинге, а сегодня выяснили что с ними что-то пошло не так, хостер написал, разбираются.
romaamor писал(а): 28.12.2018 12:08 установить расширение - авто быкап
принято к сведению. Спасибо!
Pazh, блин. всяко не айс
Аватара пользователя
Pazh
Former team member
Сообщения: 2317
Стаж: 14 лет 4 месяца
Благодарил (а): 43 раза
Поблагодарили: 506 раз
Контактная информация:

Re: Удалили пользователей, восстановить из старого дампа БД

Сообщение Pazh »

Tugus, читай личку, к сожалению - легко не будет.
Последний раз редактировалось Pazh 28.12.2018 12:18, всего редактировалось 1 раз.
Помощь в ЛС/email только за WM или ЮMoney
Аватара пользователя
Tugus
phpBB 1.4.4
Сообщения: 135
Стаж: 5 лет 4 месяца
Благодарил (а): 46 раз

Re: Удалили пользователей, восстановить из старого дампа БД

Сообщение Tugus »

Pazh писал(а): 28.12.2018 11:46 2. Выполнить запросы, заменив в них DB1 и DB2 на свои значения:
То есть, в таблицах с юзерами указывается, к какой БД они принадлежат? Не смейтесь за глупые вопросы, у меня практически первое свидание с phpmyadmin :geek:
Аватара пользователя
romaamor
phpBB 3.0.2
Сообщения: 2081
Стаж: 11 лет 11 месяцев
Откуда: Одесса
Благодарил (а): 707 раз
Поблагодарили: 161 раз
Контактная информация:

Re: Удалили пользователей, восстановить из старого дампа БД

Сообщение romaamor »

Tugus писал(а): 28.12.2018 12:07 Поэтому новых юзеров месяц несколько шт, не страшно потерять
Ну для этого существует редирект.
Tugus писал(а): 28.12.2018 12:07 Поэтому новых юзеров месяц несколько шт, не страшно потерять.
Юзоры не долщны потерятся. Если Вы адекватно сделали бекап БД, и потом его заменили на хостинге.. Хотя это зависит от Вашего интернет провайдера.
Ответить

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