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

4.5.3. mysqlcheck — Табличная Программа Обслуживания

mysqlcheck клиент выполняет табличное обслуживание: Это проверяет, восстанавливает, оптимизирует, или анализирует таблицы.

Каждая таблица блокируется и поэтому недоступная к другим сеансам, в то время как она обрабатывается, хотя для операций проверки, таблица блокируется с a READ заблокируйте только (см. Раздел 13.3.5,"LOCK TABLES и UNLOCK TABLES Синтаксис" , для получения дополнительной информации о READ и WRITE блокировки). Табличные операции обслуживания могут быть отнимающими много времени, особенно для больших таблиц. Если Вы используете --databases или --all-databases опция, чтобы обработать все таблицы в одной или более базах данных, вызов mysqlcheck мог бы занять много времени. (Это - также истина для mysql_upgrade, потому что та программа вызывает mysqlcheck, чтобы проверить все таблицы и восстановить их в случае необходимости.)

mysqlcheck подобен в функции myisamchk, но работает по-другому. Основное операционное различие - то, что mysqlcheck должен использоваться, когда mysqld сервер работает, тогда как myisamchk должен использоваться, когда это не. Преимущество использования mysqlcheck - то, что Вы не должны остановить сервер, чтобы выполнить табличное обслуживание.

mysqlcheck использует SQL-операторы CHECK TABLE, REPAIR TABLE, ANALYZE TABLE, и OPTIMIZE TABLE удобным способом к пользователю. Это определяет, какие операторы использовать для работы Вы хотите выполнить, и затем отправляет операторы серверу, который будет выполняться. Для получения дополнительной информации, о который механизмы хранения каждый оператор работы с, см. описания для тех операторов в Разделе 13.7.2, "Табличные Операторы Обслуживания".

MyISAM механизм хранения поддерживает все четыре операции обслуживания, таким образом, mysqlcheck может использоваться, чтобы выполнить любого из них на MyISAM таблицы. Другие механизмы хранения не обязательно поддерживают все операции. В таких случаях выводится на экран сообщение об ошибке. Например, если test.t a MEMORY таблица, попытка проверить это приводит к этому результату:

shell> mysqlcheck test ttest.tnote     : The storage engine for the table doesn't support check

Если mysqlcheck неспособен восстановить таблицу, см. Раздел 2.11.4, "Восстанавливая или Восстанавливая Таблицы, или Индексирует" для ручных табличных стратегий восстановления. Это будет иметь место, например, для InnoDB таблицы, с которыми можно свериться CHECK TABLE, но не восстановленный с REPAIR TABLE.

Предостережение

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

Есть три общих способа вызвать mysqlcheck:

shell> mysqlcheck [options]
        db_name [tbl_name
        ...]shell> mysqlcheck [options] --databases db_name
        ...shell> mysqlcheck [options] --all-databases

Если Вы не называете таблиц после db_name или если Вы используете --databases или --all-databases опция, все базы данных проверяются.

у mysqlcheck есть специальная функция по сравнению с другими клиентскими программами. Поведение значения по умолчанию проверочных таблиц (--check) может быть изменен, переименовывая двоичный файл. Если Вы хотите иметь инструмент, который восстанавливает таблицы по умолчанию, следует только сделать копию mysqlcheck названной mysqlrepair, или сделать символьную ссылку на mysqlcheck названной mysqlrepair. Если Вы вызываете mysqlrepair, он восстанавливает таблицы.

Имена, показанные в следующей таблице, могут использоваться, чтобы изменить mysqlcheck поведение значения по умолчанию.

Команда Значение
mysqlrepair Опция по умолчанию --repair
mysqlanalyze Опция по умолчанию --analyze
mysqloptimize Опция по умолчанию --optimize

mysqlcheck поддерживает следующие опции, которые могут быть определены на командной строке или в [mysqlcheck] и [client] группы файла опции. mysqlcheck также поддерживает опции для того, чтобы обработать файлы опции, описанные в Разделе 4.2.3.4, "Параметры командной строки, которые Влияют на Обработку Файла опции".

Таблица 4.6. mysqlcheck Опции

Формат Файл опции Описание Представленный
- все-базы данных все-базы данных Проверьте все таблицы во все базы данных
- all-in-1 all-in-1 Выполните единственный оператор для каждой базы данных, которая называет все таблицы от той базы данных
- проанализировать проанализировать Проанализируйте таблицы
- автовосстановление автовосстановление Если проверенная таблица повреждается, автоматически фиксируйте ее
- bind-address=ip_address свяжите адресный Используйте указанный сетевой интерфейс, чтобы соединиться с MySQL Server
- character-sets-dir=path dir наборов символов Каталог, где наборы символов устанавливаются
- проверить проверить Проверьте таблицы на ошибки
- "проверка, только измененная" "проверка, только измененная" Проверка только таблицы, которые изменились начиная с последней проверки
- обновление проверки обновление проверки Вызовите ТАБЛИЦУ ПРОВЕРКИ с опцией FOR UPGRADE
- сжатие сжатие Сожмите всю информацию, отправленную между клиентом и сервером
- базы данных базы данных Обработайте все таблицы в именованных базах данных
- отладка [=debug_options] отладка Запишите журнал отладки
- проверка отладки проверка отладки Напечатайте отладочную информацию, когда программа выходит
- информация отладки информация отладки Напечатайте отладочную информацию, память и статистику ЦП, когда программа выходит
- default-auth=plugin default-auth=plugin Плагин аутентификации, чтобы использовать
- default-character-set=charset_name набор символов значения по умолчанию Используйте charset_name в качестве набора символов значения по умолчанию
- расширенный расширенный Проверьте и восстановите таблицы
- быстро быстро Проверка только таблицы, которые не были закрыты должным образом
- "фиксируйте имена дб" "фиксируйте имена дб" Преобразуйте имена базы данных к 5.1 форматам
- фиксировать-имена-таблиц фиксировать-имена-таблиц Преобразуйте имена таблиц в 5.1 форматов
- сила сила Продолжайте, даже если ошибка SQL происходит
- справка Сообщение справки дисплея и выход
- host=host_name узел Соединитесь с сервером MySQL на данном узле
- login-path=name Считайте опции пути входа в систему из.mylogin.cnf
- средняя проверка средняя проверка Сделайте проверку, которая быстрее чем - расширенная работа
- оптимизировать оптимизировать Оптимизируйте таблицы
- пароль [=password] пароль Пароль, чтобы использовать, соединяясь с сервером
- канал На Windows соединитесь с сервером, используя именованный канал
- plugin-dir=path plugin-dir=path Каталог, где плагины располагаются
- port=port_num порт Номер порта TCP/IP, чтобы использовать для соединения
- protocol=type протокол Протокол соединения, чтобы использовать
- быстрый быстрый Самый быстрый метод проверки
- восстановление восстановление Выполните восстановление, которое может фиксировать почти что-либо кроме уникальных ключей, которые не уникальны
- тихий тихий Тихий режим
- skip-database=db_name база данных пропуска Опустите эту базу данных от выполняемых операций 5.7.1
- socket=path сокет Для соединений с localhost
- ssl-ca=file_name ssl-приблизительно Путь к файлу, который содержит список доверяемой АВАРИИ SSL
- ssl-capath=dir_name ssl-capath Путь к каталогу, который содержит доверяемые сертификаты CA SSL в формате PEM
- ssl-cert=file_name ssl-свидетельство Имя файла сертификата SSL, чтобы использовать для того, чтобы установить безопасное соединение
- ssl-cipher=cipher_list ssl-шифр Список допустимых шифров, чтобы использовать для шифрования SSL
- ssl-crl=file_name ssl-crl Путь к файлу, который содержит списки аннулированных сертификатов
- ssl-crlpath=dir_name ssl-crlpath Путь к каталогу, который содержит файлы списка аннулированных сертификатов
- ssl-key=file_name ssl-ключ Имя файла ключей SSL, чтобы использовать для того, чтобы установить безопасное соединение
- ssl-verify-server-cert ssl-verify-server-cert Значение Общего названия сервера в его сертификате проверяется против имени хоста, используемого, соединяясь с сервером
- таблицы таблицы Переопределения - базы данных или-B опция
- кадр использования кадр использования Для операций восстановления на таблицах MyISAM
- user=user_name, пользователь Имя пользователя MySQL, чтобы использовать, соединяясь с сервером
- многословный Многословный режим
- версия Выведите на экран информацию о версии и выход
- записать-binlog записать-binlog Журнал АНАЛИЗИРУЕТ, ОПТИМИЗИРУЕТ, операторы REPAIR к двоичному журналу. - skip-write-binlog добавляет NO_WRITE_TO_BINLOG к этим операторам.