Parts Posted April 12, 2013 Share Posted April 12, 2013 Как админ может восстановить тему с известным IDесли один из модераторов ее снес? Link to comment Share on other sites More sharing options...
Атаман Posted April 12, 2013 Share Posted April 12, 2013 1) (Средствами форума) Если У Вас нету корзины на фоурме и тд, то не как. 2) (Вручную) Если есть бекап БД за определенное число: выдернуть с бекапа тему, и посты с нее. Link to comment Share on other sites More sharing options...
Parts Posted April 16, 2013 Author Share Posted April 16, 2013 да, корзины на тот момент не было. А в бэкапе как ее правильно найти и восстановить? Link to comment Share on other sites More sharing options...
siv1987 Posted April 16, 2013 Share Posted April 16, 2013 А в бэкапе как ее правильно найти и восстановить?Для вас самый простой вариант, это создать еще одну базу данных под 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 - название базы где находится бэкап. После пройти в Админцентр > НАСТРОЙКИ > Пересчет и обновлениеВыполнить Ресинхронизация форумов. Link to comment Share on other sites More sharing options...
siv1987 Posted April 16, 2013 Share Posted April 16, 2013 Вариант для более продвинутых пользователей. Если бэкап весит несколько сотен мегабайт или пару гигабайт, закачивать и развертывать его на сервере не очень удобно. Его можно развернуть на локалхосте, а сбэкапить нужные строки из бд нам поможет утилита 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. Link to comment Share on other sites More sharing options...
siv1987 Posted April 17, 2013 Share Posted April 17, 2013 Раз пошла такая пьянка, расскажу про еще один способ, как можно восстановить удаленную тему из бэкапа с помощью phpMyAdmin. 1. И так, заходим через phpMyAdmin в базу где находиться наш бэкап, и переходим на кладку SQL. 2. Делаем запрос для селекта нужный темыSELECT * FROM ibf_topics WHERE tid=ид_топикаи нажимаем внизу на "Экспорт" 3. В настройках дампа снимаем галочку с опции Структура. Все остальные настройки можно оставить по умолчанию.Ставим галочку на "Послать" для того чтобы получить бэкап в виде файла, и нажимаем Пошел. Теперь у нас есть бэкап удаленной темы. Осталось сдампить сообщения аналогичным способом. 4. Переходим обратно на вкладку SQL. Выполняем запрос для выбора сообщений из таблицы ibf_postsSELECT * FROM ibf_posts WHERE topic_id=ид_топикаДалее, как в случае с темой, нажимаем экспорт, снимаем галочку с "Структура", ставим на "Послать" и делаем бэкап. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now