Spec-Zone .ru
спецификации, руководства, описания, API
|
Это - хорошая идея выполнить таблицу, проверяет регулярную основу вместо того, чтобы ожидать проблем произойти.
Один способ проверить и восстановить 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