поиск:
Полезные ссылки

  • Форум по MySQL

  • Статьи по MySQL

  • Вопросы по MySQL

  • MySQL.com


  • Базы данных

  • MySQL

  • PostgreSQL


  • PHP конференция 2005
    Подробности!

    4.8.4. Использование mysqlcheck для сопровождения и аварийного восстановления таблиц.

    Начиная с версии 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

      Вывести информацию о версии и выйти из программы.

     
    © 1997-2005 PHP Club Team
    Rambler's Top100