Parts 0 04/12/13 03:52 Как админ может восстановить тему с известным IDесли один из модераторов ее снес? Поделиться сообщением Ссылка на сообщение
Атаман 461 04/12/13 04:18 1) (Средствами форума) Если У Вас нету корзины на фоурме и тд, то не как. 2) (Вручную) Если есть бекап БД за определенное число: выдернуть с бекапа тему, и посты с нее. Поделиться сообщением Ссылка на сообщение
Parts 0 04/16/13 14:53 да, корзины на тот момент не было. А в бэкапе как ее правильно найти и восстановить? Поделиться сообщением Ссылка на сообщение
siv1987 2628 04/16/13 17:03 А в бэкапе как ее правильно найти и восстановить?Для вас самый простой вариант, это создать еще одну базу данных под 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 - название базы где находится бэкап. После пройти в Админцентр > НАСТРОЙКИ > Пересчет и обновлениеВыполнить Ресинхронизация форумов. Поделиться сообщением Ссылка на сообщение
siv1987 2628 04/16/13 19:37 Вариант для более продвинутых пользователей. Если бэкап весит несколько сотен мегабайт или пару гигабайт, закачивать и развертывать его на сервере не очень удобно. Его можно развернуть на локалхосте, а сбэкапить нужные строки из бд нам поможет утилита 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. Поделиться сообщением Ссылка на сообщение
siv1987 2628 04/17/13 11:30 Раз пошла такая пьянка, расскажу про еще один способ, как можно восстановить удаленную тему из бэкапа с помощью phpMyAdmin. 1. И так, заходим через phpMyAdmin в базу где находиться наш бэкап, и переходим на кладку SQL. 2. Делаем запрос для селекта нужный темыSELECT * FROM ibf_topics WHERE tid=ид_топикаи нажимаем внизу на "Экспорт" 3. В настройках дампа снимаем галочку с опции Структура. Все остальные настройки можно оставить по умолчанию.Ставим галочку на "Послать" для того чтобы получить бэкап в виде файла, и нажимаем Пошел. Теперь у нас есть бэкап удаленной темы. Осталось сдампить сообщения аналогичным способом. 4. Переходим обратно на вкладку SQL. Выполняем запрос для выбора сообщений из таблицы ibf_postsSELECT * FROM ibf_posts WHERE topic_id=ид_топикаДалее, как в случае с темой, нажимаем экспорт, снимаем галочку с "Структура", ставим на "Послать" и делаем бэкап. Поделиться сообщением Ссылка на сообщение