Пропустить

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

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).

[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 | Шаблон запроса
Аватара пользователя
crash
Former team member
 
Сообщения: 6619
Зарегистрирован: 07.07.2004 16:12
Откуда: Бердск
Благодарил (а): 0 раз.
Поблагодарили: 16 раз.

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

Сообщение Rayden » 21.06.2008 23:55

почему жулики? Скорее всего ты так объяснил, что им стало понятно - тебе надо восстановить из бекапа. Надо объяснять свои запросы так, чтоб не было разночтения.
phpBB2 FAQ
phpBB3 FAQ
Аватара пользователя
Rayden
Former team member
 
Сообщения: 3841
Зарегистрирован: 27.06.2005 0:07
Благодарил (а): 0 раз.
Поблагодарили: 27 раз.

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

Сообщение Front » 06.10.2008 13:48

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

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

и вставил ссылку на него прямо в сообщение ошибки (которое "phpBB : Critical Error" и т.д.) , получилось типа "Ошибка БД, Попробуйте пройти по этой ссылке...", т.е. получается что первый юзер увидевший ошибку имеет простую возможность починить таблицы.
Вот вопрос - безопасно ли это? И можно ли как-то сделать чтобы подобный скрипт запускался автоматом при крушении базы?

Front
phpBB 1.4.0
 
Сообщения: 32
Зарегистрирован: 27.02.2008 21:12
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение Палыч » 06.10.2008 20:29

Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Палыч
Просто Палыч
Просто Палыч
 
Сообщения: 9257
Зарегистрирован: 24.05.2006 22:20
Откуда: Питер
Благодарил (а): 3 раз.
Поблагодарили: 283 раз.

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

Сообщение Front » 07.10.2008 12:41

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

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

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

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

кто в PHP хорошо шарит, может сделаете на общее благо? :)

Front
phpBB 1.4.0
 
Сообщения: 32
Зарегистрирован: 27.02.2008 21:12
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение Палыч » 07.10.2008 19:08

Front
а не пробовали запустить поиск по файлам по message_die, например?
Могу поспорить, найдёте более 500 вхождений. 8-)
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
Палыч
Просто Палыч
Просто Палыч
 
Сообщения: 9257
Зарегистрирован: 24.05.2006 22:20
Откуда: Питер
Благодарил (а): 3 раз.
Поблагодарили: 283 раз.

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

Сообщение Front » 07.10.2008 20:08

Т.е. выходит что лучше использовать крон и не лохматить бабушку? :)

Front
phpBB 1.4.0
 
Сообщения: 32
Зарегистрирован: 27.02.2008 21:12
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение Alek$ » 08.10.2008 9:55

Front
да, именно так и выходит.
Самая страшная ошибка, это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
Первая помощь по всем phpBB-вопросам: phpBB2 и phpBB3 FAQ; Правила общения;
Все консультации в icq или личке - на платной основе.
Аватара пользователя
Alek$
Лидер модераторов
Лидер модераторов
 
Сообщения: 2672
Зарегистрирован: 03.08.2005 12:46
Откуда: Новосибирск
Благодарил (а): 3 раз.
Поблагодарили: 45 раз.

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

Сообщение Lancerrr » 14.12.2008 15:50

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

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

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

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

Заранее благодарен
Тот форум, о котором я веду речь здесь >>

Lancerrr
phpBB 1.4.2
 
Сообщения: 53
Зарегистрирован: 17.02.2007 1:44
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение crash » 14.12.2008 15:58

Lancerrr писал(а):Какая именно?

а вы не пробовали прочитать ошибку?
Lancerrr писал(а):phpbb_sessions

Очистите таблицу
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Аватара пользователя
crash
Former team member
 
Сообщения: 6619
Зарегистрирован: 07.07.2004 16:12
Откуда: Бердск
Благодарил (а): 0 раз.
Поблагодарили: 16 раз.

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

Сообщение Lancerrr » 14.12.2008 16:05

Очистить от чего?
можно подробнее и пошагово?
Как это сделать через PHPmyADMIN ?
Заранее благодарен.
Тот форум, о котором я веду речь здесь >>

Lancerrr
phpBB 1.4.2
 
Сообщения: 53
Зарегистрирован: 17.02.2007 1:44
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение crash » 14.12.2008 16:06

Lancerrr писал(а):Очистить от чего?

от содержимого
Lancerrr писал(а):Как это сделать через PHPmyADMIN ?

так же как и чинить, только выбрать очистить
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Аватара пользователя
crash
Former team member
 
Сообщения: 6619
Зарегистрирован: 07.07.2004 16:12
Откуда: Бердск
Благодарил (а): 0 раз.
Поблагодарили: 16 раз.

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

Сообщение Lancerrr » 14.12.2008 16:20

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

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

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

И еще - отчего эта беда могла приключиться?
Тот форум, о котором я веду речь здесь >>

Lancerrr
phpBB 1.4.2
 
Сообщения: 53
Зарегистрирован: 17.02.2007 1:44
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение crash » 14.12.2008 16:24

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

чините и очищайте.
Lancerrr писал(а):На что повлияет очистка этой таблицы?

она станет пустой
Lancerrr писал(а):И еще - отчего эта беда могла приключиться?

вам привести все миллион причин?
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Аватара пользователя
crash
Former team member
 
Сообщения: 6619
Зарегистрирован: 07.07.2004 16:12
Откуда: Бердск
Благодарил (а): 0 раз.
Поблагодарили: 16 раз.

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

Сообщение Lancerrr » 14.12.2008 16:34

Восстановил и почистил - вместо 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 , которая тоже повреждена и нуждается в реанимации.
Чинить ее или надежнее будет обратиться к бекапу и поднять форум из него?
Тот форум, о котором я веду речь здесь >>

Lancerrr
phpBB 1.4.2
 
Сообщения: 53
Зарегистрирован: 17.02.2007 1:44
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение crash » 14.12.2008 16:35

Lancerrr
чините все таблицы
Как правильно задавать вопросы
Для особо одаренных: поиск - это есть круто.
FAQ v.2 | FAQ v.3 | Шаблон запроса
Аватара пользователя
crash
Former team member
 
Сообщения: 6619
Зарегистрирован: 07.07.2004 16:12
Откуда: Бердск
Благодарил (а): 0 раз.
Поблагодарили: 16 раз.

Пред.След.

Вернуться в FAQ (phpBB 3.0.x)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Изображение