Spec-Zone .ru
спецификации, руководства, описания, API
|
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 t
test.tnote : The storage engine for the table doesn't support check
Если mysqlcheck неспособен восстановить таблицу, см. Раздел
2.11.4, "Восстанавливая или Восстанавливая Таблицы, или Индексирует" для ручных табличных
стратегий восстановления. Это будет иметь место, например, для InnoDB
таблицы, с
которыми можно свериться CHECK TABLE
,
но не восстановленный с REPAIR TABLE
.
Лучше делать резервное копирование таблицы прежде, чем выполнить табличную работу восстановления; при некоторых обстоятельствах работа могла бы вызвать потерю данных. Возможные причины включают, но не ограничиваются ошибками файловой системы.
Есть три общих способа вызвать mysqlcheck:
shell>mysqlcheck [
shell>options
]db_name
[tbl_name
...]mysqlcheck [
shell>options
] --databasesdb_name
...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 к этим операторам. |
--help
, -?
Выведите на экран сообщение справки и выход.
--all-databases
, -A
Проверьте все таблицы во все базы данных. Это - то же самое как использование --databases
опция и называющий все базы данных на командной строке.
--all-in-1
, -1
Вместо того, чтобы делать заявление для каждой таблицы, выполните единственный оператор для каждой базы данных, которая называет все таблицы от той базы данных, которая будет обработана.
--analyze
, -a
Проанализируйте таблицы.
Если проверенная таблица повреждается, автоматически фиксируйте ее. Любые необходимые восстановления делаются после того, как все таблицы были проверены.
На компьютере, имеющем многократные сетевые интерфейсы, эта опция может использоваться, чтобы выбрать, какой интерфейс используется, соединяясь с сервером MySQL.
Каталог, где наборы символов устанавливаются. См. Раздел 10.5, "Конфигурация Набора символов".
--check
, -c
Проверьте таблицы на ошибки. Это - работа значения по умолчанию.
Проверка только таблицы, которые изменились начиная с последней проверки или которые не были закрыты должным образом.
--check-upgrade
, -g
Вызвать CHECK TABLE
с FOR UPGRADE
опция, чтобы проверить таблицы на несовместимости с текущей
версией сервера. Эта опция автоматически включает --fix-db-names
и --fix-table-names
опции.
Сожмите всю информацию, отправленную между клиентом и сервером если оба сжатия поддержки.
--databases
, -B
Обработайте все таблицы в именованных базах данных. Обычно, mysqlcheck обрабатывает параметр имени на командной строке как имя базы данных и после имен как имена таблиц. С этой опцией это обрабатывает все параметры имени как имена базы данных.
--debug[=
,
debug_options
]-# [
debug_options
]
Запишите журнал отладки. Типичное debug_options
строка
'd:t:o,
. Значение
по умолчанию file_name
''d:t:o'
.
Напечатайте некоторую отладочную информацию, когда программа выходит.
Напечатайте отладочную информацию и память и статистику использования ЦП, когда программа выходит.
--default-character-set=
charset_name
Использовать charset_name
как набор символов значения по
умолчанию. См. Раздел 10.5, "Конфигурация Набора
символов".
--extended
, -e
Если Вы используете эту опцию, чтобы проверить таблицы, она гарантирует, что они являются на 100 % непротиворечивыми, но занимает много времени.
Если Вы используете эту опцию, чтобы восстановить таблицы, она выполняет расширенное восстановление, которое может не только занять много времени, чтобы выполниться, но может произвести много строк мусора также!
Клиентский плагин аутентификации, чтобы использовать. См. Раздел 6.3.7, "Сменная Аутентификация".
--fast
, -F
Проверка только таблицы, которые не были закрыты должным образом.
Преобразуйте имена базы данных к 5.1 форматам. Только на имена базы данных, которые содержат специальные символы, влияют.
Преобразуйте имена таблиц в 5.1 форматов. Только на имена таблиц, которые содержат специальные символы, влияют. Эта опция также применяется к представлениям.
--force
, -f
Продолжайте, даже если ошибка SQL происходит.
--host=
, host_name
-h
host_name
Соединитесь с сервером MySQL на данном узле.
--medium-check
, -m
Сделайте проверку, которая быстрее чем --extended
работа. Это находит только 99.99 % всех ошибок, которые
должны быть достаточно хорошими в большинстве случаев.
--optimize
, -o
Оптимизируйте таблицы.
--password[=
, password
]-p[
password
]
Пароль, чтобы использовать, соединяясь с сервером. Если Вы используете короткую форму опции (-p
), у Вас не может быть
пространства между опцией и паролем. Если Вы опускаете password
значение после --password
или -p
опция на командной строке, mysqlcheck запрашивает одного.
Определение пароля на командной строке нужно считать небезопасным. См. Раздел 6.1.2.1, "Направляющие линии Конечного пользователя для Безопасности Пароля". Можно использовать файл опции, чтобы избежать давать пароль на командной строке.
--pipe
, -W
На Windows соединитесь с сервером, используя именованный канал. Эта опция применяется, только если сервер поддерживает соединения именованного канала.
Каталог, в котором можно искать плагины. Может быть необходимо определить эту опцию если --default-auth
опция используется, чтобы определить плагин аутентификации, но mysqlcheck не находит это. См. Раздел
6.3.7, "Сменная Аутентификация".
--port=
, port_num
-P
port_num
Номер порта TCP/IP, чтобы использовать для соединения.
--protocol={TCP|SOCKET|PIPE|MEMORY}
Протокол соединения, чтобы использовать для того, чтобы соединиться с сервером. Полезно, когда другие параметры соединения обычно заставляли бы протокол использоваться кроме того, Вы хотите. Для получения дополнительной информации на допустимых значениях, см. Раздел 4.2.2, "Соединяясь с MySQL Server".
--quick
, -q
Если Вы используете эту опцию, чтобы проверить таблицы, она препятствует тому, чтобы проверка сканировала строки, чтобы проверить на неправильные ссылки. Это - самый быстрый метод проверки.
Если Вы используете эту опцию, чтобы восстановить таблицы, она пытается восстановить только индексировать дерево. Это - самый быстрый метод восстановления.
--repair
, -r
Выполните восстановление, которое может фиксировать почти что-либо кроме уникальных ключей, которые не уникальны.
--silent
, -s
Тихий режим. Напечатайте только сообщения об ошибках.
Не включайте именованную базу данных (чувствительную к регистру) в операции, выполняемые mysqlcheck.
--socket=
, path
-S
path
Для соединений с localhost
, файл сокета Unix, чтобы использовать, или,
на Windows, имени именованного канала, чтобы использовать.
Опции, которые начинаются --ssl
определите, соединиться ли с сервером,
используя SSL и указать, где найти ключи SSL и сертификаты. См. Раздел
6.3.9.4, "Опции Команды SSL".
Переопределите --databases
или -B
опция. Все параметры
имени после опции расцениваются как имена таблиц.
Для операций восстановления на MyISAM
таблицы, получите структуру
таблицы от .frm
файл так, чтобы таблица могла быть восстановлена даже
если .MYI
заголовок повреждается.
--user=
, user_name
-u
user_name
Имя пользователя MySQL, чтобы использовать, соединяясь с сервером.
--verbose
, -v
Многословный режим. Информация о печати о различных этапах работы программы.
--version
, -V
Выведите на экран информацию о версии и выход.
Эта опция включается по умолчанию, так, чтобы ANALYZE TABLE
, OPTIMIZE TABLE
, и REPAIR TABLE
операторы, сгенерированные mysqlcheck, пишутся двоичному журналу. Использовать
--skip-write-binlog
вызвать NO_WRITE_TO_BINLOG
быть добавленным к операторам так, чтобы они
не были зарегистрированы. Используйте --skip-write-binlog
когда эти операторы не должны быть отправлены
ведомым устройствам репликации или выполнению при использовании двоичных журналов для восстановления
после резервного копирования.