Spec-Zone .ru
спецификации, руководства, описания, API

7.6.5. Установка a MyISAM Табличное Расписание Обслуживания

Это - хорошая идея выполнить таблицу, проверяет регулярную основу вместо того, чтобы ожидать проблем произойти. Один способ проверить и восстановить MyISAM таблицы с CHECK TABLE и REPAIR TABLE операторы. См. Раздел 13.7.2, "Табличные Операторы Обслуживания".

Другой способ проверить таблицы состоит в том, чтобы использовать myisamchk. В целях обслуживания можно использовать myisamchk-s. -s опция (короткий для --silent) причины myisamchk, чтобы работать в тихом режиме, печатая сообщения только, когда ошибки происходят.

Это - также хорошая идея включить автоматический MyISAM табличная проверка. Например, всякий раз, когда машина сделала перезапуск в середине обновления, Вы обычно должны проверять каждую таблицу, на которую, возможно, влияли прежде, чем это будет использоваться далее. (Они "ожидаются разрушенные таблицы."), Чтобы заставить сервер проверять MyISAM таблицы автоматически, запустите это с --myisam-recover-options опция. См. Раздел 5.1.3, "Опции Команды Сервера".

Следует также регулярно проверять свои таблицы во время работы нормальной системы. Например, можно выполнить cron задание, чтобы проверить важные таблицы один раз в неделю, используя строку как это в a crontab файл:

35 0 * * 0 /path/to/myisamchk --fast --silent /path/to/datadir/*/*.MYI

Это распечатывает информацию о разрушенных таблицах так, чтобы можно было исследовать и восстановить их по мере необходимости.

Чтобы запустить с, выполните myisamchk-s каждую ночь на всех таблицах, которые были обновлены в течение прошлых 24 часов. Поскольку Вы видите, что проблемы нечасто происходят, можно замедлить частоту проверки к один раз в неделю или около этого.

Обычно, таблицы MySQL нуждаются в небольшом обслуживании. Если Вы выполняете много обновлений к MyISAM таблицы со строками динамического размера (таблицы с VARCHAR, BLOB, или TEXT столбцы), или имеют таблицы со многими удаленными строками, можно хотеть дефрагментировать/исправить пространство от таблиц время от времени. Можно сделать это при использовании OPTIMIZE TABLE на рассматриваемых таблицах. Альтернативно, если можно остановить mysqld сервер некоторое время, расположение изменения в каталог данных и использовать эту команду, в то время как сервер останавливается:

shell> myisamchk -r -s --sort-index
        --myisam_sort_buffer_size=16M */*.MYI