Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

MySQL. Библиотека профессионала - Аткинсон Л

..pdf
Скачиваний:
166
Добавлен:
24.05.2014
Размер:
10.41 Mб
Скачать

262 Глава Утилиты командной строки

Эта переменная хранит стандартный номер порта, через который осуществляется подключение к серверу MySQL. Она эквивал ентна опции

Эта переменная хранит путевое имя используемого для подключе ния к MySQL. Она эквивалентна опции

Эта переменная может хранить путевое имя каталога временных файлов. Она эк вивалентна опции

USER

Эта переменная может хранить стандартное имя пользователя, указываемое при подключении к серверу MySQL. Она особенно полезна в среде Win32, где пользова тель не всегда указывает свое имя при входе в систему.

Конфигурационные файлы

При запуске программа MySQL ищет конфигурационные файлы в нескольких ка талогах. Анализ файлов осуществляется в определенном порядке. В UNIX общесис темные установки хранятся в файле а в Win32 — в файле в сис темном каталоге. В UNIX вслед за общесистемным файлом будет проверен одно именный файл в каталоге данных, а файл cnf в начальном каталоге пользователя. В Win32 вторым проверяется файл cnf в корневом каталоге диска С, а за ним — одноименный файл в каталогеданных.

Таким образом, в UNIX файлы проверяются в таком порядке:

В Window NT порядок будет следующим:

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

Структура конфигурационного файла проста. Символ объявляет начало коммен тария: весь текст до конца текущей строки будет проигнорирован интерпретатором. Границы наборов опций помечаются заголовками в квадратных скобках. Названия за

Полный список утилит 263

соответствуют именам клиентских программ, а специальный заголовок

обозначает блок, общий для всех клиентов. Блок серверных опций называ ется

Опции, задаваемые в конфигурационных файлах, называются так же, как и опции командной строки, только перед ними не ставятся дефисы. Знак равенства отделяет имя опции от присваиваемого ей значения (в командной строке операция присваива ния может записываться иначе).

В листинге 14.1 приведен пример конфигурационного файла, включенного в стан дартный дистрибутив. Перечисленные ниже утилиты могут иметь в нем свои записи:

Кроме того, утилита создает отдельные заголовки для групп серверов.

[client]

port=3306

[mysqld]

port=3306,

default character set=latinl

set variable

set variable

set variable thread_stack=128K set variable

[mysqldump] quick set variable

[mysql]

no auto rehash

Полный список утилит

Ниже описаны всеключевые утилиты командной строки, имеющиеся в MySQL.

По умолчанию сообщения об ошибках хранятся в каталоге mysql. каждого поддерживаемого языка создается подкаталог с и Утилита comp_err компилирует текстовый файл в формат, понимаемый программой MySQL. Формат вызоваутилиты таков:

I I] [ V]

264 Глава Утилиты командной строки

Эта утилита восстанавливает и оптимизирует табличные файлы, хранящиеся в старом формате ISAM. Более современный ее аналог —

Этот сценарий создает двоичный дистрибутив. Если программа MySQL компили ровалась из исходных файлов, сценарий make_binary_distribution будет нахо диться в подкаталоге scripts. Результатом работы сценария будет файл с расшире нием предназначенный для инсталляции программы MySQL в аналогичной операционной системе.

Этот сценарий пытается преобразовать исходный файл, содержащий обращения к данных в эквивалентный файл MySQL. В нем используется утилита replace, с помощью которой функции mSQL заменяются своими аналогами из MySQL. Сценарий расположен в каталоге scripts и в качестве аргумен та принимает имя преобразуемого файла.

Эта утилита анализирует заданные конфигурационные файлы и возвращает спи сок содержащихся в них опций в формате, предназначенном для использования в ко мандной строке. Синтаксис вызова my_print_defaults таков:

|

I с файл]

|

| файл]

I

I

| V]

группа

Эту утилиту удобно вызывать в сценариях, где требуется определить стандартные

установки. Пример ее работы показан в листинге 14.2.

Полный список утилит 265

Эта опция задает требуемый конфигурационный файл (по умолчанию анализиру ется стандартный файл).

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

help

При наличии этой опции выдается лишь справочная информация об утилите

При наличии этой опции возвращается пустая строка.

( V)

При наличии этой опции возвращается лишь информация о версии утилиты.

Утилита myisamchk проверяет, восстанавливает и оптимизирует таблицы форма та Она может принимать целый ряд опций и требует указания как минимум одной таблицы:

myisamchk

I a]

I В]

| c]

| C]

| длина]

| # конфигурация]

|

| e]

fast I

force I

|

|

|

|

| 1]

I

read only |

|

I

\ А

266 Глава Утилиты командной строки

\ О

I

sort index | S]

|

|

|

| U]

V] |

При ссылке на таблицы разрешается использовать подстановочные знаки, чтобы не нужно было перечислять все таблицы. Расширение можно не указывать. В листинге 14.3 показано, как проверить все таблицы всех имеющихся баз данных.

Если ни одна опцияне указана, таблицы проверяются врежиме

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

Вместо утилиты myisamchk можно воспользоваться инструкциями CHECK TABLE, OPTIMIZE TABLE или REPAIR TABLE. Все они вызываются из среды

Утилита myisamchk работает в одном из трех режимов: проверка, оптимизация или восстановление. В первом случае утилита лишь сообщает о наличии ошибок и может пометить таблицу как поврежденную, но никакихизменений в нее не вносит ся. Исключение делается только для опции которая заставляет утилиту пе реключиться в режим восстановления в случае обнаружения какой либо ошибки.

Врежиме оптимизации улучшаются индексы. При наличии опции ути лита проверяет ключи таблицы и значения, хранящиеся в ее столбцах. Это позволяет модулю оптимизации находить наилучшие способы объединения таблиц.

Врежиме восстановления утилита пытается исправлять все ошибки. Обычно оп

ции

вполне достаточно.

Эта опция заставляет утилиту оптимизировать ключи таблицы, что позволит эф фективнее выполнять табличные объединения.

( B)

Эта опция заставляет утилиту создавать резервные копии табличных файлов. К имени файла добавляется метка времени, а расширение меняется на ВАК.

Полный список утилит 267

Эта опция задает каталог, в котором хранятся файлы наборов символов.

Эта опция заставляет утилиту проверить таблицу на предмет наличия в ней оши бок. Если обнаруживается хотя бы одна ошибка, таблица помечается поврежден

ная.

\ ( C)

Эта опция заставляет утилиту проверять только те таблицы, которые изменились с момента последней проверки.

( D длина)

Эта опция задает максимальную длину восстанавливаемого файла данных.

конфигурация)

Эта опция заставляет утилиту записывать отладочную информацию в указанный журнальный файл. Поддержка данной опции должна быть включена в наэта пе компиляции. По умолчанию данные записываются в файл trace. Подробнее о формате журнальных файлов рассказывается в главе 24, "Физическое хранение данных".

При наличии этой опциивозвращается информация о заданной таблице.

Эта опция заставляет утилиту выполнить самую тщательную проверку таблиц. К данному средству следует прибегать в последнюю очередь, поскольку утилита будет выполняться достаточно долго. Она проверит все ключи строка за строкой, используя индексный буфер. Следовательно, нужно предварительно увели чить размер буфера до максимально возможной величины. Если эта опция использу ется в режиме восстановления, будет выполнено полное восстановление всех воз можных строк, включая те, которые были законно удалены.

fast ( F)

Эта опция заставляет утилиту проверять только те таблицы, которые не были пра вильно закрыты.

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

268 Глава Утилиты командной строки

При наличии этой опции возвращается лишь описание синтаксиса командной строки, а все остальные опции игнорируются.

При наличии этой опции выдается информация о каждой проверяемой таблице.

битовое_поле)

Эта опция заставляет утилиту активизировать одни ключи и дезактивировать дру гие. Поскольку каждая операция вставки связана с обновлением индексов, дезактива ция их приводит к ускорению операции. Впоследствии можно восстановить индекс с помощью

В качестве битового поля указывается целое число. Первая битовая цифра задает первый индекс, второй и т.д. Например, чтобы активизировать первый и четвертый индексы и отключить все остальные, нужно задать аргумент 9 (двоичная

При наличии этойопции выполняется более детальная проверка таблиц, чем в случае опции хотя и не такая тщательная, как в случаеопции check.

( I)

Эта опция запрещает утилите проверять содержимое символических ссылок.

Эта опция заставляет утилиту восстанавливать только индексы и пропускать фай лы данных. Если указана опция файлы данных будут обновляться только в случае обнаружениядубликатов.

( T)

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

Эта опция заставляет утилиту устранять обнаруживаемые ошибки. В зависимости от определения таблицы возможен либо режим либо recover.

Полный список утилит 269

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

( A

Эта опция задает следующее значение если оно еще небыло ис пользовано.

Эта опция задает используемый набор символов.

( О

С помощью этой опции можно задавать значения некоторых переменных утилиты Список переменных и их стандартных значений приведен в табл. 14.1.

Переменная

Значение по умолчанию

decode_bits

9

 

520192

 

262136

fer_size

2097144

sort_key_blocks

16

 

262136

При восстановлении таблицы в режиме буфер сортировки. В этом случае операция восстановления выполняется достаточно быст ро. Но бывают ситуации, когда утилита myisamchk вынуждена использовать индекс ный буфер. Например, этого требуют опции e_recover и Кроме того, индексный буфер когда размер временного файла, ис пользуемого при сортировке индекса, становится в два разабольше, чем размер ин дексного файла. Таким образом, благодаря индексному буферу сокращается объем требуемого дискового пространства, но вместе с тем снижается производительность.

Эта опция приводит к сокращению объема выдаваемой информации. При нали чии опции будет возвращаться еще меньше информации.

270 Глава Утилиты командной строки

( S)

Эта опция заставляет утилиту сортировать индексы, что приведет к ускорению операций сканирования таблиц.

( R индекс)

Эта опция заставляет утилиту сортировать строки файла данных по указанному номеру индекса, что приведет к ускорению операций поиска по диапазону значений.

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

каталог)

Эта опция задает каталог временных файлов.

Эта опция заставляет утилиту распаковать таблицу, упакованную ути литой

( U)

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

Эта опция переводит утилиту в "многословный" режим, в котором выдается боль ше чем обычно. Существуют также опции и которые еще больше повышают информативность выходных данных. Их удобно применять совме стнос опциями и

( V)

При наличии этой опции выдается лишь информация о версии утилиты.

Эта опция заставляет утилиту дождаться разблокирования таблицы.

Утилита myisamlog сканирует файл log и возвращает из него требуемую

информацию. Синтаксис вызова утилиты таков:

Полный список утилит 271

предел]

путь]

смещение]

[ R]

файл]

[таблица

( I)

При наличии этой опциивозвращается лишь справочная информация об утилите.

с предел

Эта опция ограничивает вывод указанным числом команд.

D

При наличии опции утилита проверяет, скомпилирован ли демон в режиме включения отладочной информации.

F путь

Эта опция задает используемое путевое имя.

fфайлы

Эта опция задает максимальное число открытых файлов.

о смещение

Эта опция заставляет утилиту начать сканирование файла с указанного смещения.

Р

При наличии этой опции возвращается информация о процессах.

р компоненты

Эта опция заставляет утилиту удалять заданное число компонентов из путевых имен.

R

Эта опция заставляет утилиту отображать позицию записи.

При наличии этой опции будет выдана статистика операций восстановления.