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

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

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

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

Сообщение crash » 05.02.2005 16:05

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 | Шаблон запроса

lEO-dead
phpBB 1.2.0
Сообщения: 11
Зарегистрирован: 23.04.2005 7:16

Сообщение lEO-dead » 06.06.2005 16:53

тут бы ещё стоило дописать:
Что касается MySQL 4.0.2, то тут для REPAIR существует режим USE_FRM. Используйте его, если отсутствует файл .MYI или поврежден его заголовок. В этом режиме MySQL воссоздаст таблицу, используя информацию из файла .frm.

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

REPAIR TABLE `phpbb_sessions`  USE_FRM

Роман ShaRP
phpBB 1.4.0
Сообщения: 31
Зарегистрирован: 27.07.2006 13:08
Откуда: Киев

Сообщение Роман ShaRP » 14.09.2006 16:57

Решая свои проблемы, наткнулся на тему с готовым php-скриптом для починки таблиц , позволяющим все сделать без PhpMyAdmin и установки модов, при наличии только доступа к корневой папке сайта.

Возможно, это не самое лучшее решение, но мне помогло, причем помогло быстро.

Краткий перевод инструкции для не понимающих английского:
1) скачайте этот файл (если ссылка не работает - ищите другую в первом посте указанной выше темы).
2) переименуйте его в fixtables.php
3) забросьте его в корневой каталог своего форума (тот же каталог, в котором лежит config.php)
4) запустите из броузера ссылкой типа http://mysite.com/fixtables.php?PX42m3=1 То есть, если ваш форум находится по адресу http://mojforum.ru/ , строка для запуска из броузера должна выглядеть http://mojforum.ru/fixtables.php?PX42m3=1
5) дождитесь окончания работы скрипта.

siemens-klub
phpBB 1.4.0
Сообщения: 36
Зарегистрирован: 08.02.2007 14:50
Откуда: Ярославль
Благодарил (а): 1 раз

Сообщение siemens-klub » 18.02.2007 19:56

а не проще ли сделать так создать php страницу вписать туда код::
<?php
$DB_HOST = "localhost";
$DB_USER = "имя пользователя";
$DB_PASS = "пароль";
$DB_NAME = "название базы";
$link=mysql_connect ($DB_HOST, $DB_USER, $DB_PASS);
mysql_select_db($DB_NAME);
///////////////////////////////////////
mysql_query("REPAIR TABLE `phpbb_attachments` , `phpbb_attachments_config` , `phpbb_attachments_desc` , `phpbb_attach_quota` , `phpbb_auth_access` , `phpbb_banlist` , `phpbb_categories` , `phpbb_config` , `phpbb_confirm` , `phpbb_disallow` , `phpbb_extensions` , `phpbb_extension_groups` , `phpbb_forbidden_extensions` , `phpbb_forums` , `phpbb_forum_prune` , `forum_phpbb` , `phpbb_ina_at_scores` , `phpbb_ina_banned` , `phpbb_ina_cat` , `phpbb_ina_comment` , `phpbb_ina_data` , `phpbb_ina_fav` , `phpbb_ina_games` , `phpbb_ina_highscore` , `phpbb_ina_pms` , `phpbb_ina_rate` , `phpbb_ina_scores` , `phpbb_ina_sessions` , `phpbb_ina_tour` , `phpbb_ina_user_data` , `phpbb_posts` , `phpbb_posts_text` , `phpbb_post_reports` , `phpbb_privmsgs` , `phpbb_privmsgs_text` , `phpbb_quota_limits` , `phpbb_ranks` , `phpbb_reputation` , `phpbb_reputation_text` , `phpbb_search_results` , `phpbb_search_wordlist` , `phpbb_search_wordmatch` , `phpbb_sessions` , `phpbb_sessions_keys` , `phpbb_smilies` , `phpbb_themes` , `phpbb_themes_name` , `phpbb_topics` , `phpbb_topics_watch` , `phpbb_users` , `phpbb_user_group` , `phpbb_vote_desc` , `phpbb_vote_results` , `phpbb_vote_voters` , `phpbb_words`");
mysql_close();
?>

и переходить по ссылке?
_________________________
я тока учу php..нужны мод транслита чибокс,выгрузка мини оперы и бан по времени в секундах

Аватара пользователя
crash
Former team member
Сообщения: 6517
Зарегистрирован: 07.07.2004 17:12
Откуда: Бердск
Поблагодарили: 15 раз

Сообщение crash » 19.02.2007 7:27

siemens-klub а не проще тогда использовать config.php и не светить во всех файлах свою конфигурацию?
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса

siemens-klub
phpBB 1.4.0
Сообщения: 36
Зарегистрирован: 08.02.2007 14:50
Откуда: Ярославль
Благодарил (а): 1 раз

Сообщение siemens-klub » 20.02.2007 1:53

можно и конфиг использовать.я пример привёл и как вы догадались префикс таблиц у меня другой

Добавлено спустя 1 минуту 24 секунды:

да и скрипт спрятан далеко =)

Аватара пользователя
crash
Former team member
Сообщения: 6517
Зарегистрирован: 07.07.2004 17:12
Откуда: Бердск
Поблагодарили: 15 раз

Сообщение crash » 20.02.2007 4:39

siemens-klub писал(а):и как вы догадались префикс таблиц у меня другой
не догадался. Я гдето писал что я гадалка?
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса

Aleksandeer
phpBB 1.0.0
Сообщения: 1
Зарегистрирован: 21.10.2007 14:06

Сообщение Aleksandeer » 21.10.2007 14:24

Люди добрые помогите пожалуйста!!!
Когда захожу на главную страницу форума пишет такую ошибку!!!
---
Может кто знает что нужно сделать!!
Я просто в этом деле ничего толком не понимаю!!
Вложения
ERROR.jpg

Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Зарегистрирован: 12.11.2004 0:20
Поблагодарили: 13 раз

Сообщение VVVas » 21.10.2007 14:48

Нужно починить таблицу.
я люблю daft punk | новый sugoi.ru

Alexis06
phpBB 1.0.0
Сообщения: 2
Зарегистрирован: 25.06.2006 15:40

Сообщение Alexis06 » 24.10.2007 11:58

Could not insert new word matches
DEBUG MODE
SQL Error : 1196 Warning: Some non-transactional changed tables couldn't be rolled back
INSERT INTO phpbb_search_wordmatch (post_id, word_id, title_match) SELECT 2667, word_id, 0 FROM phpbb_search_wordlist WHERE word_text IN ('тест')
Line : 251
File : functions_search.php
Пробовал чинить таблицы, результата положительного нет.
Что еще можно сделать?

Аватара пользователя
crash
Former team member
Сообщения: 6517
Зарегистрирован: 07.07.2004 17:12
Откуда: Бердск
Поблагодарили: 15 раз

Сообщение crash » 24.10.2007 13:38

Alexis06
удалить таблицу, создать занова (структура в файле mysql_schema.sql), сделать переиндексацию поиска.
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса

Alexis06
phpBB 1.0.0
Сообщения: 2
Зарегистрирован: 25.06.2006 15:40

Сообщение Alexis06 » 24.10.2007 23:34

И вопрос (сорри очень сильно) как сделать переиндексацию, где, и что она означает?

Аватара пользователя
/DiOs
Former team member
Сообщения: 1139
Зарегистрирован: 21.02.2006 7:53
Откуда: Ленинград

Сообщение /DiOs » 24.10.2007 23:50

Alexis06 писал(а):как сделать переиндексацию
reindex mod да и вообще поиск по "переиндексация", "reindex"
Alexis06 писал(а):где,
В базе данных
Alexis06 писал(а):что она означает
В вашем случае -- заполнение заново трех таблиц, связанных с поиском.
И если я неправ, пусть старшие товарищи поправят меня

danemon
phpBB 1.0.0
Сообщения: 2
Зарегистрирован: 08.12.2007 22:17

Сообщение danemon » 08.12.2007 22:32

На форуме mozyr.by стоит движок 2.0.19

Такая история. Один юзер был нехороший, напросился и мы его удалили. В панели управления форумом (как мне напарник рассказывал) в разделе управления пользователями нажал "удалить профиль". Оказалось, что удаляется не только сам профиль пользователя. но и все посты пользователя тоже пропали. Это пол беды.

"Вторые две трети" беды выглядят так. В тех темах, где удаленный пользователь много постил - сообщения пропали, но форум все еще помнит, что сообщений в этой теме например 100, хотя теперь уже должно быть меньше.

Теперь как это проявляется - большая тема разбивается на страницы как обычно. Но ведь постов хватает не на пять, а на четыре страницы.

При нажатии на пятую страницу - сообщений нет, зато четвертая страница нормально работает.

Пример такой битой темы на форуме:
(ссылка на последний на данный момент пост в теме)
http://www.mozyr.by/index.php?name=Foru ... =6344#6344
Ссылка на начало этой же темы:
http://www.mozyr.by/index.php?name=Foru ... opic&t=193

Предложенный выше скрипт поможет или нет? Я так понимаю здесь будут не поврежденные таблицы замешаны, а вероятно ошибка в алгоритме работы форума.

Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 453 раза

Сообщение Палыч » 08.12.2007 23:40

danemon писал(а):Предложенный выше скрипт поможет или нет?
нет. Ваши таблицы не сломаны.
Ваше решение DB Maintenance (найдёте поиском)
Только это решение для phpbb2 (в отношении слаеда не уверен)
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.

Перенесено из форума FAQ (phpBB 3.0.x) в форум FAQ 20.03.2015 19:17 модератором rxu

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