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

[FAQ] Пример ремонта (починки) таблицы

Темы по наиболее часто задаваемым вопросам без привязки к версии phpBB. Читать в первую очередь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x/3.3.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
crash
Former team member
Сообщения: 6517
Стаж: 19 лет 8 месяцев
Откуда: Бердск
Поблагодарили: 15 раз
Контактная информация:

[FAQ] Пример ремонта (починки) таблицы

Сообщение crash »

1. Вариант 1 с использованием phpmyadmin.
Заходим в phpmyqadmin. Если у нас несколько баз, то выбираем в левом фрейме базу с форумом, если база одна, то она будет стоять по умолчанию. В результате будем иметь:
Изображение
В правом фрейме ставим галочки напротив таблиц, которые надо чинить (ремонтировать). Получаем
Изображение

В правом фрейме спускаемся в самый низ и из выпадающего меню выбираем "Починить таблицу"
Изображение

2. Вариант 2 с использованием phpmyadmin.
В право фрейме нажимаем на ссылку SQL
Изображение
В окне запроса (допустим чиним таблицы phpbb_categories, phpbb_confirm, phpbb_ranks, phpbb_search_results, phpbb_topics) набираем:
REPAIR TABLE `phpbb_categories` , `phpbb_confirm` , `phpbb_disallow` , `phpbb_ranks` , `phpbb_search_results` , `phpbb_topics` и нажимаем кнопку "Пошел"
Изображение

3. Вариант при использовании доступа к командной строке сервера (Unix сервер):
а. заходим на сервер в командную строку
б. набираем в командной строке команду: mysql -h DBhostname -u username -ppassword database_name
c. если получаем что-то в виде
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1122 to server version: 3.23.39

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>
то мы зашли в управление БД. Пишем команду

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

REPAIR TABLE `phpbb_categories` , `phpbb_confirm` , `phpbb_disallow` , `phpbb_ranks` , `phpbb_search_results` , `phpbb_topics`;

и жмем ENTER
Выход из командного режима MySQL делаем с помощью exit
Последний раз редактировалось crash 01.02.2007 10:00, всего редактировалось 5 раз.
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Аватара пользователя
Rayden
Former team member
Сообщения: 3739
Стаж: 18 лет 9 месяцев
Поблагодарили: 44 раза
Контактная информация:

Re: [FAQ] Пример ремонта (починки) таблицы

Сообщение Rayden »

почему жулики? Скорее всего ты так объяснил, что им стало понятно - тебе надо восстановить из бекапа. Надо объяснять свои запросы так, чтоб не было разночтения.
phpBB2 FAQ
phpBB3 FAQ
Front
phpBB 1.4.0
Сообщения: 31
Стаж: 16 лет 1 месяц

Re: [FAQ] Пример ремонта (починки) таблицы

Сообщение Front »

Ребят, у меня такой вопрос, с REPAIR TABLE все предельно ясно, но вот можно ли как-то автоматизировать этот процесс?
У меня уже второй раз валятся sessions и users, и по закону подлости делают это когда я уезжаю на несколько дней, и не имею инета, и знать не знаю про крэш, получается что форум может висеть пару дней... :(

Я уже воспользовался вот этим скриптиком:
http://www.phpbb.com/kb/article/fixing- ... rom-mysql/

и вставил ссылку на него прямо в сообщение ошибки (которое "phpBB : Critical Error" и т.д.) , получилось типа "Ошибка БД, Попробуйте пройти по этой ссылке...", т.е. получается что первый юзер увидевший ошибку имеет простую возможность починить таблицы.
Вот вопрос - безопасно ли это? И можно ли как-то сделать чтобы подобный скрипт запускался автоматом при крушении базы?
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 17 лет 10 месяцев
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза
Контактная информация:

Re: [FAQ] Пример ремонта (починки) таблицы

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

Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Front
phpBB 1.4.0
Сообщения: 31
Стаж: 16 лет 1 месяц

Re: [FAQ] Пример ремонта (починки) таблицы

Сообщение Front »

Палыч, спасибо! Крон наверное да, хороший вариант.

А может можно так сделать чтобы в месте где при ошибке от БД выдается сообщение, вместо этого текста об ошибке инклюдом запускать скрипт починки таблиц?

Например у меня в sessions.php есть такое:

if (!($result = $db->sql_query($sql)))
{
message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);
}

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

Re: [FAQ] Пример ремонта (починки) таблицы

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

Front
а не пробовали запустить поиск по файлам по message_die, например?
Могу поспорить, найдёте более 500 вхождений. 8-)
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Front
phpBB 1.4.0
Сообщения: 31
Стаж: 16 лет 1 месяц

Re: [FAQ] Пример ремонта (починки) таблицы

Сообщение Front »

Т.е. выходит что лучше использовать крон и не лохматить бабушку? :)
Аватара пользователя
Alek$
Former team member
Сообщения: 2616
Стаж: 18 лет 7 месяцев
Откуда: Новосибирск
Поблагодарили: 37 раз
Контактная информация:

Re: [FAQ] Пример ремонта (починки) таблицы

Сообщение Alek$ »

Front
да, именно так и выходит.
Самая страшная ошибка, это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
Первая помощь по всем phpBB-вопросам: phpBB2 и phpBB3 FAQ; Правила общения;
Все консультации в icq или личке - на платной основе.
Lancerrr
phpBB 1.4.2
Сообщения: 53
Стаж: 17 лет 1 месяц

Re: [FAQ] Пример ремонта (починки) таблицы

Сообщение Lancerrr »

приветствую всех.
Заранее прошу прощения, если не в эту тему.

Сегодня захожу на форум и вместо форума вижу:

phpBB : Critical Error

Error creating new session

DEBUG MODE

SQL Error : 1062 Duplicate entry '-1' for key 2

INSERT INTO phpbb_sessions (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, session_admin) VALUES ('ee09cb678a5924c1a9a81f074c88ddad', -1, 1229257867, 1229257867, '5d54551a', 0, 0, 0)

Line : 187
File : sessions.php

Это что , тоже какая-то таблица сломана? Какая именно?
Как восстановить нормальную работу? В принципе, есть бекап..

Заранее благодарен
Тот форум, о котором я веду речь здесь >>
Аватара пользователя
crash
Former team member
Сообщения: 6517
Стаж: 19 лет 8 месяцев
Откуда: Бердск
Поблагодарили: 15 раз
Контактная информация:

Re: [FAQ] Пример ремонта (починки) таблицы

Сообщение crash »

Lancerrr писал(а):Какая именно?
а вы не пробовали прочитать ошибку?
Lancerrr писал(а):phpbb_sessions
Очистите таблицу
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Lancerrr
phpBB 1.4.2
Сообщения: 53
Стаж: 17 лет 1 месяц

Re: [FAQ] Пример ремонта (починки) таблицы

Сообщение Lancerrr »

Очистить от чего?
можно подробнее и пошагово?
Как это сделать через PHPmyADMIN ?
Заранее благодарен.
Тот форум, о котором я веду речь здесь >>
Аватара пользователя
crash
Former team member
Сообщения: 6517
Стаж: 19 лет 8 месяцев
Откуда: Бердск
Поблагодарили: 15 раз
Контактная информация:

Re: [FAQ] Пример ремонта (починки) таблицы

Сообщение crash »

Lancerrr писал(а):Очистить от чего?
от содержимого
Lancerrr писал(а):Как это сделать через PHPmyADMIN ?
так же как и чинить, только выбрать очистить
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Lancerrr
phpBB 1.4.2
Сообщения: 53
Стаж: 17 лет 1 месяц

Re: [FAQ] Пример ремонта (починки) таблицы

Сообщение Lancerrr »

Я сейчас зашел в эту таблицу, там порядка 178 строк - 6 страниц по 30 строк , так вот три первых страницы видны, три последних недоступны вместо них ошибка: мол таблица разрушена и нуждается в восстановлении.

Очищать?
На что повлияет очистка этой таблицы?

Заранее спасибо.

И еще - отчего эта беда могла приключиться?
Тот форум, о котором я веду речь здесь >>
Аватара пользователя
crash
Former team member
Сообщения: 6517
Стаж: 19 лет 8 месяцев
Откуда: Бердск
Поблагодарили: 15 раз
Контактная информация:

Re: [FAQ] Пример ремонта (починки) таблицы

Сообщение crash »

Lancerrr писал(а):Очищать?
На что повлияет очистка этой таблицы?
чините и очищайте.
Lancerrr писал(а):На что повлияет очистка этой таблицы?
она станет пустой
Lancerrr писал(а):И еще - отчего эта беда могла приключиться?
вам привести все миллион причин?
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Lancerrr
phpBB 1.4.2
Сообщения: 53
Стаж: 17 лет 1 месяц

Re: [FAQ] Пример ремонта (починки) таблицы

Сообщение Lancerrr »

Восстановил и почистил - вместо 178 строк стало 2 строки

вхожу на форум и вижу новую ошибку:
Could not obtain user/online information

DEBUG MODE

SQL Error : 145 Table './ginecologby1/phpbb_users' is marked as crashed and should be repaired

SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip FROM phpbb_users u, phpbb_sessions s WHERE u.user_id = s.session_user_id AND s.session_time >= 1229261023 ORDER BY u.username ASC, s.session_ip ASC

Line : 108
File : page_header.php

Насколько я понимаю, сейчас дело уперлось в таблицу phpbb_users , которая тоже повреждена и нуждается в реанимации.
Чинить ее или надежнее будет обратиться к бекапу и поднять форум из него?
Тот форум, о котором я веду речь здесь >>
Аватара пользователя
crash
Former team member
Сообщения: 6517
Стаж: 19 лет 8 месяцев
Откуда: Бердск
Поблагодарили: 15 раз
Контактная информация:

Re: [FAQ] Пример ремонта (починки) таблицы

Сообщение crash »

Lancerrr
чините все таблицы
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Перенесено из форума FAQ (phpBB 3.0.x) в форум FAQ 20.03.2015 19:17 модератором rxu

Ответить

Вернуться в «FAQ»