Skip to content

Ошибка индексов.

При проверке индексов. Заметил такую вещь. 50% таблиц было посыпано в краснуху. Восстанавливал и в ручную запросами и автоматически.

 

Но осталось 3 таблицы битые: При ручном или автоматическом запросе ошибка БД.

 

Самая интерестная таблица. Она восстанавливается и минуту, снова битая.

 

ibf_rc_classes

		
com_id
Отсутствует индекс: onoff
Нажмите здесь для исправления индексов этой таблицы или вы можете выполнить следующие запросы вручную.
ALTER TABLE ibf_rc_classes DROP INDEX onoff, ADD INDEX onoff (onoff,mod_group_perm(255)) 

 

ibf_topics

	
tid
topic_firstpost
last_post
forum_id
starter_id
last_post_sorting
start_date
Отсутствует индекс: last_x_topics
Нажмите здесь для исправления индексов этой таблицы или вы можете выполнить следующие запросы вручную.
ALTER TABLE ibf_topics DROP INDEX last_x_topics, ADD INDEX  last_x_topics (forum_id,approved,start_date)						

 

ibf_tags_index

id
app
Отсутствует индекс: tag_grab
Нажмите здесь для исправления индексов этой таблицы или вы можете выполнить следующие запросы вручную.
ALTER TABLE ibf_tags_index DROP INDEX tag_grab, ADD INDEX tag_grab (app,type,type_id,type_2,type_id_2,tag_hidden)

 

Ошибка бд

 

  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Date: Fri, 24 Oct 2014 05:54:43 +0000 
Error: 1091 - Can't DROP 'last_x_topics'; check that column/key exists 
IP  Address:  -  /forum/s_admin_s/index.php?adsess=124415c68ecb6c83b7c1ee6eeb870b4b&app=core&module=diagnostics§ion=diagnostics§ion=diagnostics&do=dbindex&fix=ibf_topics  
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mySQL query error: ALTER TABLE ibf_topics DROP INDEX last_x_topics, ADD  INDEX last_x_topics (forum_id,approved,start_date)   
.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
|  File                                                                       |   Function                                                                   | Line No.          |   
|-----------------------------------------------------------------------------+------------------------------------------------------------------------------+-------------------|
|  s_admin_s/applications/core/modules_admin/diagnostics/diagnostics.php      |  [db_tools].dbIndexDiag                                                      | 795               |   
'-----------------------------------------------------------------------------+------------------------------------------------------------------------------+-------------------'
|  s_admin_s/applications/core/modules_admin/diagnostics/diagnostics.php      |  [admin_core_diagnostics_diagnostics]._indexCheck                            | 110               |
'-----------------------------------------------------------------------------+------------------------------------------------------------------------------+-------------------'
|  s_admin_s/sources/base/ipsController.php                                   |   [admin_core_diagnostics_diagnostics].doExecute                             | 285               |
'-----------------------------------------------------------------------------+------------------------------------------------------------------------------+-------------------'

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Date: Fri, 24 Oct 2014 06:00:55 +0000
Error: 1091 - Can't DROP 'last_x_topics'; check that column/key exists
IP  Address:  -  /forum/s_admin_s/index.php?adsess=124415c68ecb6c83b7c1ee6eeb870b4b&app=core&module=diagnostics§ion=diagnostics§ion=diagnostics&do=dbindex&fix=ibf_topics
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mySQL query error: ALTER TABLE ibf_topics DROP INDEX last_x_topics, ADD  INDEX last_x_topics (forum_id,approved,start_date)
.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
|  File                                                                      |  Function                                                                     |  Line No.         |
|----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------|
|  s_admin_s/applications/core/modules_admin/diagnostics/diagnostics.php     |   [db_tools].dbIndexDiag                                                      |  795              |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
|  s_admin_s/applications/core/modules_admin/diagnostics/diagnostics.php     |   [admin_core_diagnostics_diagnostics]._indexCheck                            |  110              |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
|  s_admin_s/sources/base/ipsController.php                                  |  [admin_core_diagnostics_diagnostics].doExecute                               |  285              |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Date: Fri, 24 Oct 2014 06:06:09 +0000
Error: 1091 - Can't DROP 'tag_grab'; check that column/key exists
IP  Address:  -  /forum/s_admin_s/index.php?adsess=124415c68ecb6c83b7c1ee6eeb870b4b&app=core&module=diagnostics§ion=diagnostics§ion=diagnostics&do=dbindex&fix=ibf_tags_index
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mySQL query error: ALTER TABLE ibf_tags_index DROP INDEX tag_grab,  ADD  INDEX tag_grab (app,type,type_id,type_2,type_id_2,tag_hidden)
.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
|  File                                                                      |  Function                                                                     |  Line No.         |
|----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------|
|  s_admin_s/applications/core/modules_admin/diagnostics/diagnostics.php     |   [db_tools].dbIndexDiag                                                      |  795              |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
|  s_admin_s/applications/core/modules_admin/diagnostics/diagnostics.php     |   [admin_core_diagnostics_diagnostics]._indexCheck                            |  110              |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
|  s_admin_s/sources/base/ipsController.php                                  |  [admin_core_diagnostics_diagnostics].doExecute                               |  285              |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'

Featured Replies

ibf_rc_classes

    com_id

    Отсутствует индекс: onoff

    Нажмите здесь для исправления индексов этой таблицы или вы можете выполнить следующие запросы вручную.

    ALTER TABLE ibf_rc_classes DROP INDEX onoff, ADD INDEX onoff (onoff,mod_group_perm(255))

В начале Вам пишут "Отсутствует индекс: onoff"

Далее предлагают выполнить запрос

ALTER TABLE ibf_rc_classes DROP INDEX onoff, ADD INDEX onoff (onoff,mod_group_perm(255))

Обратите внимание на

DROP INDEX onoff

Получается, что Вы пытаетесь удалить то, чего нет.

 

То же касается и остальных таблиц.

  • Author

увидел. спс. Но почему оно тогда такие запросы составило?

  • Author

Безымянный.png

 

Но она существует......

 

ibf_tags_index - вообще пустая. Её можно удалить и просто через ац создать я так понимаю...

  • Author

Я так понимаю нужно выполнить запросы ?

 

ALTER TABLE ibf_rc_classes ADD INDEX onoff (onoff,mod_group_perm(255)) - onoff существует. Но я так понимаю, что-то в нём не хватает?

 

ALTER TABLE ibf_topics ADD INDEX last_x_topics (forum_id,approved,start_date)

 

ALTER TABLE ibf_tags_index ADD INDEX tag_grab (app,type,type_id,type_2,type_id_2,tag_hidden)

Я так понимаю нужно выполнить запросы ?
Да.

 

onoff существует. Но я так понимаю, что-то в нём не хватает?
Столбец существует. Индексы - другая штука.

Но она существует......

Существует поле, а одноименный индекс этого поле судя по всему отсутствует. В таких случаях, если выдает ошибку Can't DROP 'last_x_topics'; check that column/key exists нужно удалить из запроса DROP INDEX %index_name%

 

ALTER TABLE ibf_topics ADD INDEX last_x_topics (forum_id,approved,start_date)

  • Author

Спасибо, всем за разъяснения. ;)

А за одно и регулярное выражение написал для исправления логов "в одну строку" от тех, кто не правильно копирует логи на форум :)

 

Find: (\S)[ ]{1,4}(mySQL query|\| File|\| \w+/|Date: |Error: |IP Address: |[.'|]?----)
Replace: \1\n \2

  • Author

А за одно и регулярное выражение написал для исправления логов "в одну строку" от тех, кто не правильно копирует логи на форум :)

 

Вот за-это спасибо. По всякому уже пытался, потом без ббкода, но не в одну строку я писал это точно). Я вручную добавлял bbcode

 

ошибка

[/ code]

  • Author

Интересное.

 

Выполняю

 

ALTER TABLE ibf_rc_classes ADD INDEX onoff (onoff,mod_group_perm(255))

 

Показывает, что существует индекс.

 

Выполняю запрос:

ALTER TABLE ibf_rc_classes DROP INDEX onoff Выполнилось

 

Выполняю:

ADD INDEX onoff (onoff,mod_group_perm(255)) Выполнилось

 

Но ошибка все равно существует....

О том, что нет индекса? ANALYZE TABLE ibf_rc_classes OK? SHOW CREATE TABLE ibf_rc_classes индекс есть?

  • Author

ANALYZE TABLE ibf_rc_classes

запрос выполнен

 

 

Результаты ручного запроса ibf_rc_classes

SHOW CREATE TABLE ibf_rc_classes

 

 

 


CREATE TABLE `ibf_rc_classes` (
 `com_id` smallint(4) NOT NULL AUTO_INCREMENT,
 `onoff` tinyint(1) NOT NULL DEFAULT '0',
 `class_title` varchar(255) NOT NULL DEFAULT '',
 `class_desc` mediumtext NOT NULL,
 `author` varchar(255) NOT NULL DEFAULT '',
 `author_url` varchar(255) NOT NULL DEFAULT '',
 `pversion` varchar(255) NOT NULL DEFAULT '',
 `my_class` varchar(100) NOT NULL DEFAULT '',
 `group_can_report` varchar(255) NOT NULL DEFAULT
'',
 `mod_group_perm` varchar(255) NOT NULL DEFAULT
'',
 `extra_data` mediumtext NOT NULL,
 `lockd` tinyint(1) NOT NULL DEFAULT '0',
 `app` varchar(32) NOT NULL,
 PRIMARY KEY (`com_id`),
 KEY `onoff_2` (`onoff`,`mod_group_perm`),
 KEY `onoff` (`onoff`,`mod_group_perm`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT
CHARSET=utf8

Даже два индекса... Тогда можно забить, скорее всего проблемы в ипб с определением индекса.

  • Author

Обновился до 3.4.7 но ошибка осталась. Может вообще снести ibf_rc_classes и новую создать?

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.