Случайно удалила таблицу phpbb_users, пропали посты

Проблемы с установкой или работой 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) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Faber
phpBB 1.0.0
Сообщения: 3
Стаж: 15 лет 4 месяца

Случайно удалила таблицу phpbb_users, пропали посты

Сообщение Faber »

Всем доброго времени суток.

Столкнулся с такой проблемой. Меня достали спам боты и я решил поставить атиспам и почистить базу пользователей. Сделать это я решил в SQL. Я не профи и делаю все по описаниям и методом проб и ошибок. Случайно (по глупости и незнанию) удалил таблицу phpbb_users. Восстановил ее, но теперь не отображаются посты в форуме. В базе они есть, на форуме нет. Можно это как то исправить и как именно?

P.S. Знаю, знаю, прежде чем что то делать и экспериментировать, нужно делать бэкап и т.п. Лажанулся, бэкапа тоже нет))

Заранее благодарю за ответы.
Последний раз редактировалось Айдар 23.05.2011 21:49, всего редактировалось 2 раза.
Причина: №1 Исправлен заголовок, отражающий суть проблемы, а не эмпирическую оценку ее важности, пункт правил 2.2. №2 Сорри, не знал, что Вы девушка
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 16 лет 4 месяца
Откуда: Сергиев Посад
Благодарил (а): 373 раза
Поблагодарили: 727 раз

Re: Случайно удалил таблицу phpbb_users, пропали посты

Сообщение владимир1983 »

Phpbb users
Faber писал(а):Восстановил ее
Как? Сколько пользователей было на форуме?
Faber писал(а):бэкапа тоже нет
Вообще не какого? Сочувствуем...
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17273
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2413 раз

Re: Случайно удалил таблицу phpbb_users, пропали посты

Сообщение rxu »

Faber писал(а):удалил таблицу phpbb_users. Восстановил ее
Каким образом?
Изображение
Faber
phpBB 1.0.0
Сообщения: 3
Стаж: 15 лет 4 месяца

Re: Случайно удалил таблицу phpbb_users, пропали посты

Сообщение Faber »

Зашел в таблицу, нажал "отметить все" и нажал удалить. Но удалились не только пользователи, но и сама таблица. До этого я в качестве теста удалил несколько пользователей, все было ОК. Да и бэкап у меня был (так как я делаю все методом проб и ошибок, всегда делаю копии прежде чем что то менять), но вот незадача, на след день пришел на работу, а у меня еще и хард на рабочем серваке накрылся. Радует, что хоть за пару дней до этого я сделал бэкап 1с =) На форуме постоянно писало 3-4 пользователя, а доступ к разделам форума имели 14 пользователей. Это форум что то вроде закрытого клуба для ограниченного количества людей. Восстановил таблицу так: поставил форум в другую папку и поставил префикс БД phpbb2_ после чего переименовал таблицу phpbb_. Все заработало. Только постов нет)) Мне не важно где эти посты появятся на форуме и под каким автором, главное что бы появились (потом раскидаю по разделам). Возможно ли вообще восстановить отображение постов? Если это полный гемор, который требует определенных знаний (которых у меня нет), то я просто вытащу текст из базы и вручную заново размещу на форуме.

Еще раз благодарю всех за ответы.
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 16 лет 4 месяца
Откуда: Сергиев Посад
Благодарил (а): 373 раза
Поблагодарили: 727 раз

Re: Случайно удалил таблицу phpbb_users, пропали посты

Сообщение владимир1983 »

Faber
А если создать рядом бд, импортировать туда базу из бекапа, и скопировать таблицу phpbb_users из базы бекапа в рабочую базу?
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Случайно удалил таблицу phpbb_users, пропали посты

Сообщение Sheer »

1. Как я понял, сейчас на форуме у вас один единственный пользователь. Тогда банально: проверяйте права доступа.
2. У вашего хостера должен быть бекап. Поинтересуйтесь.
3. В следующий раз удаляйте спаммеров при помощи этой фичи - [BETA]Find_Spammer - Поиск спаммеров
Faber
phpBB 1.0.0
Сообщения: 3
Стаж: 15 лет 4 месяца

Re: Случайно удалил таблицу phpbb_users, пропали посты

Сообщение Faber »

Всем спасибо за ответы. Попробую достать бэкап у хостера.
aleksan.1
phpBB 1.4.2
Сообщения: 67
Стаж: 16 лет 5 месяцев
Благодарил (а): 15 раз

Re: Случайно удалил таблицу phpbb_users, пропали посты

Сообщение aleksan.1 »

Удалила темы, возможно ли восстановить? хотя бы временно для копирования информации.
Скачала бэкап на компьютер, распаковала, а как теперь выбрать отдельную тему и вернуть ее в настоящий форм или хотя бы скопировать? Это возможно?
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Случайно удалил таблицу phpbb_users, пропали посты

Сообщение Sheer »

Какой префикс у таблицы topics? И большой ли размер?
aleksan.1
phpBB 1.4.2
Сообщения: 67
Стаж: 16 лет 5 месяцев
Благодарил (а): 15 раз

Re: Случайно удалил таблицу phpbb_users, пропали посты

Сообщение aleksan.1 »

Префикс таблицы topics следующий: phpbb_
Размер данной таблицы небольшой, 124Kb
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Случайно удалила таблицу phpbb_users, пропали посты

Сообщение Sheer »

Создайте новую резервную копию (на всякий случай). Создайте таблицы bb_topics и bb_posts и восстановите в них данные из предыдущего дампа INSERT INTO bb_topics, INSERT INTO bb_posts
Создайте в корневой папке файл, скажем restore.php

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

<?php
header('Content-Type: text/html; charset=UTF-8');
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();

    $sql = "SELECT * FROM bb_topics";
    $result = $db->sql_query($sql);
    while ($row = $db->sql_fetchrow($result))
    {
        $id = false;
        $ssql = 'SELECT topic_id FROM phpbb_topics WHERE topic_id = '.$row['topic_id'].'';
        $res = $db->sql_query($ssql);
        while ($rw = $db->sql_fetchrow($res))
            $id = true;
        $db->sql_freeresult($res);
        if (!$id)
        {
            $res_sql = 'INSERT INTO phpbb_topics (
            topic_id, forum_id, icon_id, topic_attachment, topic_approved, topic_reported, topic_title,
            topic_poster, topic_time, topic_time_limit, topic_views, topic_replies, topic_replies_real, topic_status,
            topic_type, topic_first_post_id, topic_first_poster_name, topic_first_poster_colour,
            topic_last_post_id, topic_last_poster_id, topic_last_poster_name, topic_last_poster_colour,
            topic_last_post_subject, topic_last_post_time, topic_last_view_time, topic_moved_id,
            topic_bumped, topic_bumper, poll_title, poll_start, poll_length, poll_max_options,
            poll_last_vote, poll_vote_change)
            VALUES ('.$row['topic_id'].', '.$row['forum_id'].', '.$row['icon_id'].', '.$row['topic_attachment'].', '.$row['topic_approved'].', '.$row['topic_reported'].',
            \''.$row['topic_title'].'\', '.$row['topic_poster'].', '.$row['topic_time'].', '.$row['topic_time_limit'].', '.$row['topic_views'].', '.$row['topic_replies'].',
            '.$row['topic_replies_real'].', '.$row['topic_status'].',
            '.$row['topic_type'].', '.$row['topic_first_post_id'].', \''.$row['topic_first_poster_name'].'\', \''.$row['topic_first_poster_colour'].'\',
            '.$row['topic_last_post_id'].', '.$row['topic_last_poster_id'].', \''.$row['topic_last_poster_name'].'\', \''.$row['topic_last_poster_colour'].'\',
             \''.$row['topic_last_post_subject'].'\', \''.$row['topic_last_post_time'].'\', \''.$row['topic_last_view_time'].'\', '.$row['topic_moved_id'].',
            '.$row['topic_bumped'].', '.$row['topic_bumper'].', \''.$row['poll_title'].'\', '.$row['poll_start'].', '.$row['poll_length'].', '.$row['poll_max_options'].',
            '.$row['poll_last_vote'].', '.$row['poll_vote_change'].')';
            $t_title = $row['topic_title'];
            $tid = $row['topic_id'];
            $db->sql_query($res_sql);
            print "$tid Восстановлено. <b>Название темы:</b>$t_title<hr />";

            $post_sql = 'SELECT * FROM bb_posts WHERE topic_id = '.$tid.'';
            $post_res = $db->sql_query($post_sql);
            while ($postrow = $db->sql_fetchrow($post_res))
            {
                $post_id = $postrow['post_id'];
                $post_restore_sql = 'INSERT INTO phpbb_posts (post_id, topic_id, forum_id, poster_id, icon_id, poster_ip, post_time, post_approved, post_reported, enable_bbcode, enable_smilies, enable_magic_url, enable_sig, post_username, post_subject, post_text, post_checksum, post_attachment, bbcode_bitfield, bbcode_uid, post_postcount, post_edit_time, post_edit_reason, post_edit_user, post_edit_count, post_edit_locked)
                VALUES ('.$postrow['post_id'].', '.$postrow['topic_id'].', '.$postrow['forum_id'].', '.$postrow['poster_id'].', '.$postrow['icon_id'].', \''.$postrow['poster_ip'].'\', '.$postrow['post_time'].', '.$postrow['post_approved'].', '.$postrow['post_reported'].',
                '.$postrow['enable_bbcode'].', '.$postrow['enable_smilies'].', '.$postrow['enable_magic_url'].', '.$postrow['enable_sig'].',
                \''.$postrow['post_username'].'\', \''.$postrow['post_subject'].'\', \''.$postrow['post_text'].'\',
                \''.$postrow['post_checksum'].'\', '.$postrow['post_attachment'].', \''.$postrow['bbcode_bitfield'].'\', \''.$postrow['bbcode_uid'].'\',
                '.$postrow['post_postcount'].', '.$postrow['post_edit_time'].', \''.$postrow['post_edit_reason'].'\',
                '.$postrow['post_edit_user'].', '.$postrow['post_edit_count'].', '.$postrow['post_edit_locked'].')';
                $db->sql_query($post_restore_sql);
                print "Восстановлено сообщение "; echo $postrow['post_id']; print " Заголовок "; echo $postrow['post_subject']; echo "<br />";
            }
        }
    }
    $db->sql_freeresult($result);
?>
и запустите его.
aleksan.1
phpBB 1.4.2
Сообщения: 67
Стаж: 16 лет 5 месяцев
Благодарил (а): 15 раз

Re: Случайно удалила таблицу phpbb_users, пропали посты

Сообщение aleksan.1 »

не совсем понятно
восстановите в нее данные из предыдущего дампа INSERT INTO pbb_topics.
Буду делать в первый раз, если это возможно, опишите максимально по-подробнее, пожалуйста.

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