Начиная с версии MySQL 3.23.38 можно
применять новый инструмент для
проверки и восстановления
MyISAM-таблиц. Отличие
mysqlcheck от myisamchk
состоит в том, что утилита
mysqlcheck должна
использоваться при работающем
сервере mysqld, в то время
как myisamchk - при
остановленном. Преимущество же
заключается в том, что теперь не
нужно останавливать сервер для
проверки или восстановления
таблиц.
Утилита mysqlcheck
использует соответствующие
команды MySQL-сервера CHECK,
REPAIR, ANALYZE и
OPTIMIZE удобным для
пользователя образом.
Существует три альтернативных
способа запуска mysqlcheck:
shell>mysqlcheck [OPTIONS] database [tables]shell>mysqlcheck [OPTIONS] --databases DB1 [DB2 DB3...]shell>mysqlcheck [OPTIONS] --all-databases
Таким образом, утилита может
использоваться подобно
mysqldump по отношению к
выбранным базам данных и таблицам.
В сравнении с другими клиентами
утилита mysqlcheck имеет
следующую отличительную
особенность: установка поведения
по умолчанию, (проверка таблиц,
-с), может быть изменена
путем переименования исполняемого
файла утилиты. Итак, чтобы получить
инструмент, восстанавливающий
таблицы по умолчанию, просто
скопируйте mysqlcheck с новым
именем, mysqlrepair, или,
наоборот, сделайте символьную
ссылку на mysqlrepair и
обозначьте ее как mysqlrepair.
Если теперь запустить
mysqlrepair, то утилита по
умолчанию будет восстанавливать
таблицы.
Для изменения поведения
mysqlcheck по умолчанию можно
использовать следующие
обозначения:
mysqlrepair: Значение по умолчанию будет -r mysqlanalyze: Значение по умолчанию будет -a mysqloptimize: Значение по умолчанию будет -o
Ниже приведены возможные опции для
mysqlcheck. Какие из них
поддерживает ваша версия, можно
проверить с помощью команды
mysqlcheck --help.
-A, --all-databases
Проверить все базы данных.
Аналогична опции
--databases, если указать все
базы данных.
-1, --all-in-1
Вместо выполнения запросов для каждой таблицы в отдельности выполнить все запросы в одном отдельно для каждой таблицы. Имена таблиц будут представлены в виде списка имен, разделенных запятой.
-a, --analyze
Анализировать данные таблицы.
--auto-repair
Если проверенная таблица повреждена, автоматически восстановить ее. Исправления будут произведены после проверки всех таблиц, если были обнаружены повреждения.
-#, --debug=...
Выводит информацию журнала отладки. Часто используется следующий набор параметров: 'd:t:o,filename'
--character-sets-dir=...
Директория, где находятся установки символов.
-c, --check
Проверить таблицу на наличие ошибок.
-C, --check-only-changed
Проверить только таблицы, измененные со времени последней проверки или некорректно закрытые.
--compress
Использовать сжатие данных в протоколе сервер/клиент.
-?, --help
Вывести данную вспомогательную информацию и выйти из программы.
-B, --databases
Проверить несколько баз данных. Обратите внимание на разницу в использовании: в этом случае таблицы не указываются. Все имена аргументов рассматриваются как имена баз данных.
--default-character-set=...
Установить набор символов по умолчанию.
-F, --fast
Проверить только базы данных, которые не были закрыты должным образом.
-f, --force
Продолжать даже при получении ошибки SQL.
-e, --extended
При использовании данного
параметра совместно с CHECK
TABLE можно быть на 100
процентов быть уверенным в
целостности таблицы, хотя это и
займет много времени. Если же
использовать этот параметр с
REPAIR TABLE, запустится
расширенное восстановление
таблицы, которое может
потребовать не только
длительного времени выполнения,
но и привнесет также массу
ненужных строк!
-h, --host=...
Подключиться к хосту.
-m, --medium-check
Быстрее, чем --extended-check,
но находит только 99,99 процентов
всех ошибок. Для большинства
случаев этот вариант вполне
подходит.
-o, --optimize
Оптимизировать таблицу.
-p, --password[=...]
Используемый пароль при подключении к серверу. Если пароль не указан, у пользователя запрашивается пароль с терминала.
-P, --port=...
Номер порта, используемого для подключения по TCP/IP.
--protocol=(TCP | SOCKET | PIPE | MEMORY)
Для указания протокола соединения, который надлежит использовать. Новшество в MySQL 4.1.0.
-q, --quick
При использовании данной опции
совместно с CHECK TABLE
предотвращается сканирование
строк для корректировки
неправильных связей. Это
наиболее быстрый метод проверки.
Если же использовать этот
параметр с REPAIR TABLE,
программа попытается
восстановить только систему
индексов. Это наиболее быстрый
метод восстановления таблицы.
-r, --repair
Может исправить почти все, за исключением уникальных ключей, имеющих дубликаты.
-s, --silent
Выводить только сообщения об ошибках.
-S, --socket=...
Файл сокета, используемый для подсоединения.
--tables
Перекрывает опцию
--databases (-B).
-u, --user=#
Имя пользователя MySQL, если этот пользователь в данное время не является активным.
-v, --verbose
Вывести информацию о различных этапах.
-V, --version
Вывести информацию о версии и выйти из программы.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
© 1995-2005 MySQL AB. All rights reserved.
