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

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

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

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

U

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

V

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

V

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

W

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

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

myisampack

I

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

I

I таблица]

I

| длина]

|

| Т каталог]

|

| V]

I

После сжатия таблицы не забудьте перестроить индексы с помощью утилиты myisamchk. позволяет распаковать сжатую таблицу.

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

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

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

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

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

таблица)

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

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

длина)

Эта опция задает размер указателей на записи. Аргумент определяет число байтов и должен быть равен 2 или 3. Обычно утилита сама находит правильный размер указа телей. Иногда она сообщает о том, что можно использоватьболее короткий индекс.

Эта опция подавляет вывод информационных сообщений. Будут выдаваться толь ко сообщения об ошибках.

( Т каталог)

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

test

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

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

( V)

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

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

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

Утилита mysql является, очевидно, самым важным инструментом пользователя

MySQL. Она позволяет посылать базам данных запросы в интерактивном и пакетном режимах. Формат ее вызова таков:

mysql

| В]

I С]

| имя]

|

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

| G]

I команда]

|

|

| узел]

| H]

|

| A]

|

I

I

I W]

| порт]

|

|

\ максимум]

\ О

I s]

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

можно пользоваться клавишами управления курсором для перемещения по набран ному тексту (стрелки влево/вправо) и для вызова команд из перечня ранее введенных (стрелки вверх/вниз). Имеетсятакже множество специальных команд, активизируе мых при нажатии управляющих клавиш, но их рассмотрение выходит за рамки дан ной книги (соответствующую информацию можно найти по адресу http://cnswww.cns.

Версия

утилиты

для платформы

Win32 не поддерживает библиотеку

 

так как она не является частью Windows. Но есть другая утилита, которая

называется

 

и работает с библиотекой

readline, входящей в пакет

Эта

будет рассмотрена ниже.

 

В пакетном режиме утилита mysql принимает инструкции по каналу. Например, команда, показанная в листинге 14.4, зарегистрирует пользователя admin на сервере MySQL и выполнит инструкции, содержащиеся в файле как если бы эти инструкции были введены в командной строке. Прежде чем сценарий начнет выпол няться, программа попросит пользователя ввести пароль.

mysql

Переменные

Помимо упомянутых в начале главы переменных среды утилита mysql проверяет значения двух других переменных: и MYSQL_HOST.

MYSQL_HISTFILE

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

MYSQL_HOST

В этой переменной хранится адрес стандартного узла. Если она не задана, утилита будетподключаться клокальномуузлу.

Опции

( B)

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

Если SQL инструкции передаются утилите mysql посредством оператора канала или оператора переадресации то утилита автоматически переходит в пакет

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

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

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

( C)

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

( D имя)

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

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

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

( T)

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

User time

System time 0.00

 

 

 

 

Maximum resident

set size

0,

Integral

resident

set

size 0

 

physical

72,

Physical

 

187, Swaps

0

Blocks in 0 out

0, Messages in 0 out

0, Signals

0

 

 

Voluntary context switches

0,

Involuntary context

switches

0

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

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

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

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

( G)

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

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

SELECT id, source, body FROM

команда)

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

mysql * FROM

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

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

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

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

узел)

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

( H)

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

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

( A)

Если в имеющейся версии применяется библиотека то можно пользоваться функцией автоматического дополнения имен таблиц и столбцов. При нажатии клавиши табуляции интерпретатор предложит свой вариант дополнения имени. Опция запрещает утилите загружать список всех имен, благодаря чему утилита загружается немного быстрее. Режим автодополнения можно включить позднее с помощью команды rehash (\r).

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

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

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

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

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

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

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

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

( W)

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

( P порт)

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

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

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

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

Эта опция применяется в пакетном режиме. Она отменяет стандартную функцию преобразования непечатаемых символов в управляющие последовательности. На пример, в интерактивном если ячейка содержит символ новой строки, он бу дет воспринят буквально, и текст начнется с новой строки. В пакетном режиме этого не произойдет, но отобразится код \п. Опция влияет на символы табуляции (\t), новой строки обратной косой черты а также на первые 10 ASCII символов (\0 до

( U максимум)

Эта опция позволяет защитить пользователей новичков от случайного выполнения инструкции DELETE или UPDATE, затрагивающей всю таблицу. Запросы, в которых в предложении WHERE не указан первичный ключ, отклоняются. Если задан аргумент, бу дет изменено значение переменных SQL_SELECT_LIMIT и

У данной опции есть синоним:

set variableпеременная=значение ( О переменная=значение)

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

( N)

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

( L)

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

ERROR 1054 at line 2: Unknown column in

В случае опции строка будет выглядеть следующим образом:

ERROR Unknown column in

список утилит

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

( S файл)

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

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

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

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

имя)

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

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

( V)

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

vertical ( E)

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