Случайно удалила таблицу phpbb_users, пропали посты
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
Faber
- phpBB 1.0.0
- Сообщения: 3
- Стаж: 15 лет 4 месяца
Случайно удалила таблицу phpbb_users, пропали посты
Всем доброго времени суток.
Столкнулся с такой проблемой. Меня достали спам боты и я решил поставить атиспам и почистить базу пользователей. Сделать это я решил в SQL. Я не профи и делаю все по описаниям и методом проб и ошибок. Случайно (по глупости и незнанию) удалил таблицу phpbb_users. Восстановил ее, но теперь не отображаются посты в форуме. В базе они есть, на форуме нет. Можно это как то исправить и как именно?
P.S. Знаю, знаю, прежде чем что то делать и экспериментировать, нужно делать бэкап и т.п. Лажанулся, бэкапа тоже нет))
Заранее благодарю за ответы.
Столкнулся с такой проблемой. Меня достали спам боты и я решил поставить атиспам и почистить базу пользователей. Сделать это я решил в SQL. Я не профи и делаю все по описаниям и методом проб и ошибок. Случайно (по глупости и незнанию) удалил таблицу phpbb_users. Восстановил ее, но теперь не отображаются посты в форуме. В базе они есть, на форуме нет. Можно это как то исправить и как именно?
P.S. Знаю, знаю, прежде чем что то делать и экспериментировать, нужно делать бэкап и т.п. Лажанулся, бэкапа тоже нет))
Заранее благодарю за ответы.
Последний раз редактировалось Айдар 23.05.2011 21:49, всего редактировалось 2 раза.
Причина: №1 Исправлен заголовок, отражающий суть проблемы, а не эмпирическую оценку ее важности, пункт правил 2.2. №2 Сорри, не знал, что Вы девушка
Причина: №1 Исправлен заголовок, отражающий суть проблемы, а не эмпирическую оценку ее важности, пункт правил 2.2. №2 Сорри, не знал, что Вы девушка
-
владимир1983
- phpBB 3.2.6
- Сообщения: 5954
- Стаж: 16 лет 4 месяца
- Откуда: Сергиев Посад
- Благодарил (а): 373 раза
- Поблагодарили: 727 раз
Re: Случайно удалил таблицу phpbb_users, пропали посты
Phpbb users
Как? Сколько пользователей было на форуме?Faber писал(а):Восстановил ее
Вообще не какого? Сочувствуем...Faber писал(а):бэкапа тоже нет
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Нет человека - нет проблемы. (c)
-
rxu
- phpBB Guru

- Сообщения: 17272
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2412 раз
Re: Случайно удалил таблицу phpbb_users, пропали посты
Каким образом?Faber писал(а):удалил таблицу phpbb_users. Восстановил ее
-
Faber
- phpBB 1.0.0
- Сообщения: 3
- Стаж: 15 лет 4 месяца
Re: Случайно удалил таблицу phpbb_users, пропали посты
Зашел в таблицу, нажал "отметить все" и нажал удалить. Но удалились не только пользователи, но и сама таблица. До этого я в качестве теста удалил несколько пользователей, все было ОК. Да и бэкап у меня был (так как я делаю все методом проб и ошибок, всегда делаю копии прежде чем что то менять), но вот незадача, на след день пришел на работу, а у меня еще и хард на рабочем серваке накрылся. Радует, что хоть за пару дней до этого я сделал бэкап 1с =) На форуме постоянно писало 3-4 пользователя, а доступ к разделам форума имели 14 пользователей. Это форум что то вроде закрытого клуба для ограниченного количества людей. Восстановил таблицу так: поставил форум в другую папку и поставил префикс БД phpbb2_ после чего переименовал таблицу phpbb_. Все заработало. Только постов нет)) Мне не важно где эти посты появятся на форуме и под каким автором, главное что бы появились (потом раскидаю по разделам). Возможно ли вообще восстановить отображение постов? Если это полный гемор, который требует определенных знаний (которых у меня нет), то я просто вытащу текст из базы и вручную заново размещу на форуме.
Еще раз благодарю всех за ответы.
Еще раз благодарю всех за ответы.
-
владимир1983
- phpBB 3.2.6
- Сообщения: 5954
- Стаж: 16 лет 4 месяца
- Откуда: Сергиев Посад
- Благодарил (а): 373 раза
- Поблагодарили: 727 раз
Re: Случайно удалил таблицу phpbb_users, пропали посты
Faber
А если создать рядом бд, импортировать туда базу из бекапа, и скопировать таблицу phpbb_users из базы бекапа в рабочую базу?
А если создать рядом бд, импортировать туда базу из бекапа, и скопировать таблицу phpbb_users из базы бекапа в рабочую базу?
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Нет человека - нет проблемы. (c)
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Случайно удалил таблицу phpbb_users, пропали посты
1. Как я понял, сейчас на форуме у вас один единственный пользователь. Тогда банально: проверяйте права доступа.
2. У вашего хостера должен быть бекап. Поинтересуйтесь.
3. В следующий раз удаляйте спаммеров при помощи этой фичи - [BETA]Find_Spammer - Поиск спаммеров
2. У вашего хостера должен быть бекап. Поинтересуйтесь.
3. В следующий раз удаляйте спаммеров при помощи этой фичи - [BETA]Find_Spammer - Поиск спаммеров
-
Faber
- phpBB 1.0.0
- Сообщения: 3
- Стаж: 15 лет 4 месяца
Re: Случайно удалил таблицу phpbb_users, пропали посты
Всем спасибо за ответы. Попробую достать бэкап у хостера.
-
aleksan.1
- phpBB 1.4.2
- Сообщения: 67
- Стаж: 16 лет 5 месяцев
- Благодарил (а): 15 раз
Re: Случайно удалил таблицу phpbb_users, пропали посты
Удалила темы, возможно ли восстановить? хотя бы временно для копирования информации.
Скачала бэкап на компьютер, распаковала, а как теперь выбрать отдельную тему и вернуть ее в настоящий форм или хотя бы скопировать? Это возможно?
Скачала бэкап на компьютер, распаковала, а как теперь выбрать отдельную тему и вернуть ее в настоящий форм или хотя бы скопировать? Это возможно?
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Случайно удалил таблицу phpbb_users, пропали посты
Какой префикс у таблицы topics? И большой ли размер?
-
aleksan.1
- phpBB 1.4.2
- Сообщения: 67
- Стаж: 16 лет 5 месяцев
- Благодарил (а): 15 раз
Re: Случайно удалил таблицу phpbb_users, пропали посты
Префикс таблицы topics следующий: phpbb_
Размер данной таблицы небольшой, 124Kb
Размер данной таблицы небольшой, 124Kb
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Случайно удалила таблицу phpbb_users, пропали посты
Создайте новую резервную копию (на всякий случай). Создайте таблицы bb_topics и bb_posts и восстановите в них данные из предыдущего дампа
Создайте в корневой папке файл, скажем restore.php
и запустите его.
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, пропали посты
не совсем понятно
Буду делать в первый раз, если это возможно, опишите максимально по-подробнее, пожалуйста.восстановите в нее данные из предыдущего дампа INSERT INTO pbb_topics.

