GLOBAL FORUM ERROR

Intellect Board — cистема управления сайтом

Построение сайта на основе форума

Intellect Board — cистема управления сайтом »   Техническая поддержка версии 2.18 »   GLOBAL FORUM ERROR
RSS

GLOBAL FORUM ERROR

Срочно

Текущий рейтинг темы: Нет
Выводить сообщения
Правила раздела

<<Назад  Вперед>>Модераторы: aerograf, wsxПечать
 
Uri
Долгожитель форума

Uri
Всего сообщений: 571
Рейтинг пользователя: 4


Ссылка


Дата регистрации на форуме:
25 окт. 2005
Сегодня MySQL выполнил недопустимую операцию (ещё до регистрации пользователя в системе). Перезагрузился. После этого получаю при попытке регистрации в форуме:
[q]
GLOBAL FORUM ERROR: DELETE FROM ib_ForumView WHERE uid=4<br>1030: Got error 134 from table handler
[/q]

Могу попасть в админку,сменить профиль, могу "новые" посмотреть, присутствующих и т.п. А вот список разделов - никак. Подумал, что дело в сбое в фиксации просмотров, отключил оную. В результате:
[q]
GLOBAL FORUM ERROR: SELECT ct.*, f.*, lv.*, tp_template, tp_container, tp_external, f__tcount AS tf_tcount, f__pcount AS tf_pcount, lv_time2, p1.p__time AS tf_lasttime, p1.p_uname, p1.p_uid, p2.p__time AS tf_laststart, f__views AS tf_views, IFNULL(fv_count,0)+IFNULL(lv_markcount,0) AS tf_visited FROM ib_Forum f, ib_Category ct, ib_ForumType tp LEFT JOIN ib_UserAccess ua ON (ua.fid=f_id AND ua.uid=4) LEFT JOIN ib_LastVisit lv ON (lv.fid=f_id AND lv.uid=4) LEFT JOIN ib_ForumView fv ON (fv.fid=f_id AND fv.uid=4) LEFT JOIN ib_Post p1 ON (p1.p_id=f.f__lastpostid) LEFT JOIN ib_Post p2 ON (p2.p_id=f.f__startpostid) WHERE ct_id=f_ctid AND tp_id=f_tpid AND f_lview<=IFNULL(ua_level,1000) AND f_hidden=0 ORDER BY ct_sortfield,f_sortfield<br>1030: Got error 134 from table handler
[/q]
Вернул обратно.

Это не только у меня, похоже у всех, кто в момент сбоя в форум вошёл. Только uid разные.
[q]
GLOBAL FORUM ERROR: DELETE FROM ib_ForumView WHERE uid=27<br>1030: Got error 134 from table handler
[/q]

[q]
GLOBAL FORUM ERROR: DELETE FROM ib_ForumView WHERE uid=24<br>1030: Got error 134 from table handler
[/q]

Uri
Долгожитель форума

Uri
Всего сообщений: 571
Рейтинг пользователя: 4


Ссылка


Дата регистрации на форуме:
25 окт. 2005
Гости и те, кто к тому моменту не зарегистрировался, никаких ненормальностей не замечают.
Резервное копирование недельной (а то и более) давности. Можно ли это как-то починить, не теряя информации за эту неделю?
Можно, наверное, удалить проблемных пользователей и создать заново. Но, вероятно, произойдёт потеря контроля этих пересозданных над предыдущими сообщениями.
Надеюсь, что ремонт можно к нескольким SQL запросам свести. Вот только каким?
Очень надеюсь за выходные ответ получить.
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 3299
Рейтинг пользователя: 70


Ссылка


Дата регистрации на форуме:
29 сен. 2001
Исправить можно следующим образом: выполнить SQL-запрос
REPAIR TABLE ib_ForumView

Если не поможет, то можно пересоздать таблицу заново (таблица ForumView - вспомогательная, она служит для того, чтобы считать количество просмотров и тем в разделах):

DROP TABLE ib_ForumView

и затем
CREATE TABLE prefix_ForumView (
  uid INT UNSIGNED NOT NULL,
  fid INT UNSIGNED NOT NULL,
  fv_count INT UNSIGNED NOT NULL,
  PRIMARY KEY (fid,uid),
  INDEX uids(uid)
) TYPE=MyISAM;

---
Спорить со мной по поводу того, что в IntB будет, а чего нет -- бесполезно!
Uri
Долгожитель форума

Uri
Всего сообщений: 571
Рейтинг пользователя: 4


Ссылка


Дата регистрации на форуме:
25 окт. 2005

XXXX Pro написал:
[q]
REPAIR TABLE ib_ForumView

Если не поможет, то ....
[/q]
Помогло, спасибо.
Uri
Долгожитель форума

Uri
Всего сообщений: 571
Рейтинг пользователя: 4


Ссылка


Дата регистрации на форуме:
25 окт. 2005
Ни с того, ни с сего сегодня получил
[q]
GLOBAL FORUM ERROR: SELECT ct.*, f.*, lv.*, tp_template, tp_container, tp_external, f__tcount AS tf_tcount, f__pcount AS tf_pcount, lv_time2, p1.p__time AS tf_lasttime, p1.p_uname, p1.p_uid, p2.p__time AS tf_laststart, f__views AS tf_views, IFNULL(fv_count,0)+IFNULL(lv_markcount,0) AS tf_visited FROM( ib_Forum f, ib_Category ct, ib_ForumType tp )LEFT JOIN ib_LastVisit lv ON (lv.fid=f_id AND lv.uid=1) LEFT JOIN ib_ForumView fv ON (fv.fid=f_id AND fv.uid=1) LEFT JOIN ib_Post p1 ON (p1.p_id=f.f__lastpostid) LEFT JOIN ib_Post p2 ON (p2.p_id=f.f__startpostid) WHERE ct_id=f_ctid AND tp_id=f_tpid AND (f_lnid=0 OR f_lnid=1) AND f_id NOT IN (47,48,49,53,59,60,62,65,66,68,69,71,72,78,79,91,105,110,111,112,113,114,115,116,118,119,120,125,126) AND f_hidden=0 ORDER BY ct_sortfield,f_sortfield<br>1016: Can't open file: 'ib_post.MYI'. (errno: 145)
[/q]

Попытался войти (главное меню видно, это всё ниже, сразу под ним) system'ом. Левое меню видно, а справа
[q]
GLOBAL ADMIN ERROR: SELECT t.*,p_uid,p_uname,p__time FROM ib_Post p, ib_Topic t WHERE p_id=2715 AND p.p_tid=t.t_id AND p__premoderate=0<br>1016: Can't open file: 'ib_post.MYI'. (errno: 145)
[/q]
Всякие очистки, оптимизации пересчёты не действуют.
Явно что-то не то с ib_post. Запустил phpMyAdmin, он показал, что ib_post "используется". При попытке что-либо про ib_post посмотреть
[q]
Can't open file: 'ib_post.MYI'. (errno: 145)
[/q]

По аналогии с предыдущим GLOBAL FORUM ERROR, подозреваю что надо выполнить что-то типа REPAIR TABLE ib_post ( но уже не из админки, а из phpMyAdmin). Или выбрать аналогичный пункт в phpMyAdmin. Ничего я этим не испорчу? Или надо что-то другое сделать?
И кто виноват в подобном? Форум? PHP? MySQL? За компом в этот момент никого не было, ничего "тяжёлого" запущено не было.
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 3299
Рейтинг пользователя: 70


Ссылка


Дата регистрации на форуме:
29 сен. 2001
По каким-то причинам повредились индексы в таблице Post. Такое могло быть, если компьютер выключался или перезагружался, а индексы по каким-то причинам не сохранились.
Испортить что-либо REPAIR ом почти невозможно, так что опасаться тут нечего.

---
Спорить со мной по поводу того, что в IntB будет, а чего нет -- бесполезно!
Uri
Долгожитель форума

Uri
Всего сообщений: 571
Рейтинг пользователя: 4


Ссылка


Дата регистрации на форуме:
25 окт. 2005

XXXX Pro написал:
[q]
По каким-то причинам повредились .....
[/q]

Восстановление средствами phpMyAdmin помогло. Но вопрос о причине остался. По какой причине это могло произойти?
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 3299
Рейтинг пользователя: 70


Ссылка


Дата регистрации на форуме:
29 сен. 2001
Такое может произойти при завершении процесса MySQL в том случае, если незадолго до этого выполнялась операция над FULLTEXT-индексом.
Чтобы снизить вероятность этой ошибки, рекомендую выполнить такой запрос:
ALTER TABLE prefix_Post DELAY_KEY_WRITE=0
Он сделает принудительным сохранение индекса сразу после добавления записи, но при большом объеме базы это может привести к увеличению времени записи сообщения в базу.

---
Спорить со мной по поводу того, что в IntB будет, а чего нет -- бесполезно!
<<Назад  Вперед>>Модераторы: aerograf, wsxПечать
Intellect Board — cистема управления сайтом »   Техническая поддержка версии 2.18 »   GLOBAL FORUM ERROR
RSS

1 посетитель просмотрел эту тему за последние 10 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
Ограничение доступа
не отображаются разделы
Архив версий
Установка стиля на Intellect Board 2.22
Завершилась работа над новой версией 3.00

Самые активные 5 тем RSS


Время выполнения скрипта: 0.0526. Количество выполненных запросов: 18, время выполнения запросов 0.0000
Creative Commons License Rambler's Top100 Rambler's Top100 Рейтинг@Mail.ru Valid HTML 4.01 Transitional Valid CSS!