Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Как сделать восстановление БД форума?

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 11 лет 3 месяца
Благодарил (а): 42 раза
Поблагодарили: 251 раз
Контактная информация:

Re: Как сделать восстановление БД форума?

Сообщение c61 »

Booker, в каком модуле ошибка ? Приведите, пожалуйста, полный текст сообщения.
Booker
phpBB 2.0.7a
Сообщения: 627
Стаж: 12 лет 9 месяцев
Благодарил (а): 165 раз
Поблагодарили: 21 раз

Re: Как сделать восстановление БД форума?

Сообщение Booker »

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

Общая ошибка
SQL ERROR [ mysqli ]

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND t.template_id = s.template_id AND c.theme_id = s.theme_id AND i.imag' at line 4 [1064]
Всё, что высвечивает на главной странице форума.
Последний раз редактировалось Sheer 02.05.2013 23:47, всего редактировалось 1 раз.
Причина: bb-код
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 11 лет 3 месяца
Благодарил (а): 42 раза
Поблагодарили: 251 раз
Контактная информация:

Re: Как сделать восстановление БД форума?

Сообщение c61 »

В строке 4 (см. "at line 4") ни в одном модуле такого запроса нет, но есть в кэшированных sql-запросах. Очистите вручную папку cache, в ней должны остаться только index.htm и .htaccess.
Booker
phpBB 2.0.7a
Сообщения: 627
Стаж: 12 лет 9 месяцев
Благодарил (а): 165 раз
Поблагодарили: 21 раз

Re: Как сделать восстановление БД форума?

Сообщение Booker »

Очистил. Без изменений.
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 11 лет 3 месяца
Благодарил (а): 42 раза
Поблагодарили: 251 раз
Контактная информация:

Re: Как сделать восстановление БД форума?

Сообщение c61 »

Booker, включите debug в config.php

Возможно, после этого Вы увидите запрос полностью

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

SELECT s.style_id, t.template_storedb, t.template_path, t.template_id, t.bbcode_bitfield, c.theme_path, c.theme_name, c.theme_storedb, c.theme_id, i.imageset_path, i.imageset_id, i.imageset_name FROM phpbb3_styles s, phpbb3_styles_template t, phpbb3_styles_theme c, phpbb3_styles_imageset i WHERE s.style_id = AND t.template_id = s.template_id AND c.theme_id = s.theme_id AND i.imageset_id = s.imageset_id
и в нем ошибка WHERE s.style_id = AND
Вот здеь Общая ошибка Could not get style data было обсуждение... Хотя советов, что делать, я там не нашел))

См. строки в session.php

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

			// Set up style
			$style = ($style) ? $style : ((!$config['override_user_style']) ? $this->data['user_style'] : $config['default_style']);
где определяется стиль, которого в результате не оказывается в проверке s.style_id =. Попробуем так:
  1. Посмотрите в phpbb_config значение default_style, и проверьте, нет ли дублирующихся записей в phpbb_config.
  2. Очистите таблицу phpbb_sessions.
Booker
phpBB 2.0.7a
Сообщения: 627
Стаж: 12 лет 9 месяцев
Благодарил (а): 165 раз
Поблагодарили: 21 раз

Re: Как сделать восстановление БД форума?

Сообщение Booker »

После включения дебага показывает это:

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

Общая ошибка
SQL ERROR [ mysqli ]

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND t.template_id = s.template_id AND c.theme_id = s.theme_id AND i.imag' at line 4 [1064]

SQL

SELECT s.style_id, t.template_storedb, t.template_path, t.template_id, t.bbcode_bitfield, t.template_inherits_id, t.template_inherit_path, c.theme_path, c.theme_name, c.theme_storedb, c.theme_id, i.imageset_path, i.imageset_id, i.imageset_name FROM phpbb_styles s, phpbb_styles_template t, phpbb_styles_theme c, phpbb_styles_imageset i WHERE s.style_id = AND t.template_id = s.template_id AND c.theme_id = s.theme_id AND i.imageset_id = s.imageset_id

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/includes/db/dbal.php
LINE: 757
CALL: trigger_error()

FILE: [ROOT]/includes/db/mysqli.php
LINE: 182
CALL: dbal->sql_error()

FILE: [ROOT]/includes/session.php
LINE: 1698
CALL: dbal_mysqli->sql_query()

FILE: [ROOT]/index.php
LINE: 26
CALL: user->setup()
В phpbb_config значения default_style вообще нет, есть колонки config_name, config_value и is_dynamic

Сессионс очистил.
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 15 лет
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 4 раза
Поблагодарили: 352 раза
Контактная информация:

Re: Как сделать восстановление БД форума?

Сообщение MIT »

default_style надо искать в колонке config_name...
Booker
phpBB 2.0.7a
Сообщения: 627
Стаж: 12 лет 9 месяцев
Благодарил (а): 165 раз
Поблагодарили: 21 раз

Re: Как сделать восстановление БД форума?

Сообщение Booker »

Там единственная строчка: rand_seed_last_update
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 15 лет
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 4 раза
Поблагодарили: 352 раза
Контактная информация:

Re: Как сделать восстановление БД форума?

Сообщение MIT »

Как ты можешь догадаться, это неправильно. Там должно быть порядка двух с половиной сотен строк. Видимо, бекап был восстановлен "немного" неправильно.

Добавлено спустя 1 минуту 9 секунд:
Попробуй восстановить ещё раз.
Booker
phpBB 2.0.7a
Сообщения: 627
Стаж: 12 лет 9 месяцев
Благодарил (а): 165 раз
Поблагодарили: 21 раз

Re: Как сделать восстановление БД форума?

Сообщение Booker »

default_style равно 6.
(Нажал ремонт таблиц, после чего отобразились те самые много строк.)
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 17 лет 10 месяцев
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза
Контактная информация:

Re: Как сделать восстановление БД форума?

Сообщение Палыч »

Booker
Вероятно вы ставили/сносили несколько стилей. И не всегда корректно.
Посмотрите в таблице phpbb_styles чему у вас равняется колонка style_id для того стиля, который у вас точно стоит, например для prosilver. По умолчанию style_id = 1 для него.
И поставьте это значение в default_style в config
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Booker
phpBB 2.0.7a
Сообщения: 627
Стаж: 12 лет 9 месяцев
Благодарил (а): 165 раз
Поблагодарили: 21 раз

Re: Как сделать восстановление БД форума?

Сообщение Booker »

Проблема оказалась как обычно в криворукости. Но по счастью не моей, а хостера. Они практически убили мою базу, рассказывая, что кодировка изначально была не та. Ага, форум два года не в той кодировке работал. При этом бекап заливался неправильно, повредив половину таблиц.
В общем перезалил всё по одной таблице, заработало. Благодарю всех.
Booker
phpBB 2.0.7a
Сообщения: 627
Стаж: 12 лет 9 месяцев
Благодарил (а): 165 раз
Поблагодарили: 21 раз

Re: Как сделать восстановление БД форума?

Сообщение Booker »

После восстановления перестал нормально работать поиск, ищет только слова с момента восстановления, более ранние - нет, хотя в поисковых индексах вроде числится всё:

Fulltext native (активен) Статистика Значение Статистика Значение
Общее количество индексированных слов: 510517 Число слов, связанных с сообщениями: 10890811

Подозреваю, что побита ещё какая-то таблица. Подскажите плиз, где искать.
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 15 лет
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 4 раза
Поблагодарили: 352 раза
Контактная информация:

Re: Как сделать восстановление БД форума?

Сообщение MIT »

Попробуй сделать repair для таблицыы _search_wordlist. Не поможет — удали и создай заново поисковый индекс из админки.
Booker
phpBB 2.0.7a
Сообщения: 627
Стаж: 12 лет 9 месяцев
Благодарил (а): 165 раз
Поблагодарили: 21 раз

Re: Как сделать восстановление БД форума?

Сообщение Booker »

Да, она.
На будущее: при пересоздании индексов всё переиндексируется с самого начала? Т.е. будет поиск работать и для самых ранних сообщений?
Закрыто

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