Что вызывает необходимость ремонта таблиц? - PullRequest
11 голосов
/ 19 сентября 2008

Время от времени я получаю сообщение об ошибке, в котором говорится, что одна из моих таблиц "помечена как неисправная и должна быть исправлена". Затем я делаю РЕМОНТНЫЙ СТОЛ и чиню его. Что заставляет их помечаться как сбойные и как я могу предотвратить это? Я использую таблицы MyISAM с MySQL 5.0.45.

Ответы [ 4 ]

6 голосов
/ 19 сентября 2008

Может быть несколько причин повреждения таблиц, это подробно обсуждается в руководстве .

Для борьбы лучше всего подойдут следующие вещи:

  1. Убедитесь, что вы всегда корректно завершаете работу MySQL
  2. Подумайте об использовании опции --myisam-recovery для автоматической проверки / восстановления ваших таблиц в случае, если завершение работы не было выполнено правильно
  3. Убедитесь, что вы используете самые последние версии, поскольку известные ошибки исправления обычно исправляются как можно скорее
  4. Дважды проверьте ваше оборудование с помощью теста, чтобы увидеть, если оно вызывает проблемы. Такие инструменты, как sysbench и memtest86 часто могут помочь проверить, все ли работает как надо.
  5. Убедитесь, что ничто не касается внешнего каталога данных, такого как средства проверки на вирусы, программы резервного копирования и т. Д. *
3 голосов
/ 03 ноября 2009

Раньше я получал ошибки от mysql, как и вы.

Я решил свои проблемы таким образом

  1. Преобразование во все таблицы myisam в InnoDB (вы можете найти "myisam vs InnoDB" на stackoverflow.com и в поисковых системах, чтобы выяснить, почему)
  2. Для получения максимальной производительности от MySQL используйте стороннюю программу MONyog (MySQL Monitor and Advisor) и проверьте советы по производительности

Эти два шага спасли меня. Я надеюсь, что это вам тоже очень поможет.

3 голосов
/ 19 сентября 2008

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

0 голосов
/ 19 сентября 2008

Это может быть много вещей, но MySQL Performance Blog упоминает о дефектах памяти, ОС или MySQL, которые могут привести к скрытому повреждению. Кроме того, в этой и другой статье упоминается несколько вещей, о которых следует помнить при выполнении аварийного восстановления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...