Как восстановить таблицу в базе данных mysql

#1 24 декабря 2013 в 19:24
Обращаюсь к супер мастерам этого движка а точнее instantcms 1.10

Я немогу скачать по shh базу данных из за того что одна из таблиц повреждена, но сам сайт работает и проблем пока не вижу на сайте.

В базе разрушена таблица seriali.cms_search:
проверка базы данных выдает следующее

  1.  
  2. seriali.cms_price_items OK
  3. seriali.cms_rating_targets OK
  4. seriali.cms_ratings OK
  5. seriali.cms_ratings_total OK
  6. seriali.cms_search
  7. [b]warning : Table is marked as crashed and last repair failed
  8. warning : Size of indexfile is: 656812032 Should be: 2048
  9. error : Record-count is not ok; is 24945385 Should be: 0
  10. warning : Found 25040736 key parts. Should be: 0
  11. error : Corrupt[/b]
  12. seriali.cms_stats OK
  13. seriali.cms_subscribe OK
  14. seriali.cms_tags OK
  15. seriali.cms_uc_cart OK
  16.  
Кто может помочь, готов заплатить хорошую сумму.

мои контактные данные:

скайп i-alon
ICQ 628185375

или тут можете написать
#2 24 декабря 2013 в 19:38
Так для чего вам ее скачивать? Там только лог поиска. Если у вас есть доступ к базе, удалите таблицу и создайте заново, типа
  1. DROP TABLE IF EXISTS `cms_search`;
  2. CREATE TABLE IF NOT EXISTS `cms_search` (
  3. `id` int(11) NOT NULL AUTO_INCREMENT,
  4. `session_id` varchar(100) NOT NULL,
  5. `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  6. `pubdate` datetime DEFAULT NULL,
  7. `title` varchar(250) NOT NULL,
  8. `description` varchar(500) NOT NULL,
  9. `link` varchar(200) NOT NULL,
  10. `place` varchar(100) NOT NULL,
  11. `placelink` varchar(200) NOT NULL,
  12. PRIMARY KEY (`id`),
  13. KEY `date` (`date`)
  14. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
P.S
Я не возомнил себя опытным, просто название заинтриговало ))
Извините что влез в тему…
#3 24 декабря 2013 в 19:41
myisamchk с ключом repair -r
тоже не супер, только гуглить научился smile
#4 24 декабря 2013 в 19:48
Alon, сразу предупреждаю что в этом вопросе я такой же спец как и вы!)
Но есть предположение — может попробовать очистить таблицу seriali.cms_search?

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

axvi.ru/admin/index.php?view=cron
deleteOldResults — Удаляет записи в кеше поиска старее 1 дня.

… пока писал, deltas уже дал такой же совет)
#5 24 декабря 2013 в 20:04
  1. REPAIR TABLE `cms_search`
  1. TRUNCATE TABLE `cms_search`
Внимание! Для тех кто хочет по аналогии восстановить другие таблицы делать TRUNCATE НЕ нужно, это сотрет все данные в ней. В данном случае в этой таблице хранятся промежуточные данные.
После этих запросов проверить таблицу заново.
  1. CHECK TABLE `cms_search`

myisamchk с ключом repair -r

eoleg
типа того тоже годится, есть еще ключ в конфигурации mysql для запуска с принудительным восстановлением, но это в случаях, когда mysql вообще не стартует.
deltas тоже дело написал, только TRUNCATE проще.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.