Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Parts

Восстановление темы зная ее ID

Recommended Posts

Как админ может восстановить тему с известным ID

если один из модераторов ее снес?

Share this post


Link to post
Share on other sites

1) (Средствами форума) Если У Вас нету корзины на фоурме и тд, то не как.

 

2) (Вручную) Если есть бекап БД за определенное число: выдернуть с бекапа тему, и посты с нее.

Share this post


Link to post
Share on other sites

да, корзины на тот момент не было.

 

 

А в бэкапе как ее правильно найти и восстановить?

Share this post


Link to post
Share on other sites

А в бэкапе как ее правильно найти и восстановить?

Для вас самый простой вариант, это создать еще одну базу данных под mysql пользователя где находиться база форума. Базу назовем backupforum. Импортировать туда бэкап (смотрите не ошибитесь, и не импортируйте случайно бэкап в рабочую базу). Потом выполнить следующие запросы для копирования темы и постов из бэкапа в рабочую базу:

 

INSERT INTO forum.ibf_topics SELECT * FROM backupforum.ibf_topics WHERE tid=ид_удаленной_темы
INSERT INTO forum.ibf_posts SELECT * FROM backupforum.ibf_posts WHERE topic_id=ид_удаленной_темы

 

forum - заменить на название базы где находиться форум

backupforum - название базы где находится бэкап.

 

После пройти в Админцентр > НАСТРОЙКИ > Пересчет и обновление

Выполнить Ресинхронизация форумов.

Share this post


Link to post
Share on other sites

Вариант для более продвинутых пользователей.

 

Если бэкап весит несколько сотен мегабайт или пару гигабайт, закачивать и развертывать его на сервере не очень удобно. Его можно развернуть на локалхосте, а сбэкапить нужные строки из бд нам поможет утилита mysqldump, которая позволяет добавлять условия в выборке.

 

1. Переходим через cmd в папку где находится mysqldump.exe

 

2. Бэкапим сперва таблицу тем

mysqldump -uЮзер -pПароль --default-character-set=cp1251 имя_базы ibf_topics --no-create-info --where="tid=ид_темы" > backup.sql

 

3. Добавляем к бэкапу сообщения темы

mysqldump -uЮзер -pПароль --default-character-set=cp1251 имя_базы ibf_posts --no-create-info --where="topic_id=ид_темы" >> backup.sql

 

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

Share this post


Link to post
Share on other sites

Раз пошла такая пьянка, расскажу про еще один способ, как можно восстановить удаленную тему из бэкапа с помощью phpMyAdmin.

 

1. И так, заходим через phpMyAdmin в базу где находиться наш бэкап, и переходим на кладку SQL.

 

2f1c03807d15t.jpg

 

2. Делаем запрос для селекта нужный темы

SELECT * FROM ibf_topics WHERE tid=ид_топика

и нажимаем внизу на "Экспорт"

 

6f629e29a76et.jpg

 

3. В настройках дампа снимаем галочку с опции Структура. Все остальные настройки можно оставить по умолчанию.

Ставим галочку на "Послать" для того чтобы получить бэкап в виде файла, и нажимаем Пошел.

 

560979b153fat.jpg

 

Теперь у нас есть бэкап удаленной темы. Осталось сдампить сообщения аналогичным способом.

 

4. Переходим обратно на вкладку SQL. Выполняем запрос для выбора сообщений из таблицы ibf_posts

SELECT * FROM ibf_posts WHERE topic_id=ид_топика

Далее, как в случае с темой, нажимаем экспорт, снимаем галочку с "Структура", ставим на "Послать" и делаем бэкап.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...