| ||||||
|
|
Справочное руководство по MySQL4.8.2 mysql, Утилита командной строки
4.8.2
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Имя переменной | По умолчанию | Описание |
| connect_timeout | 0 | Число секунд до истечения времени ожидания соединения |
| max_allowed_packet | 16777216 | Максимальная величина пакета, посылаемого/принимаемого с сервера |
| net_buffer_length | 16384 | Размер буфера для TCP/IP и сокетного соединения |
| select_limit | 1000 | Автоматическое ограничение количества команд SELECT при использовании --i-am-a-dummy |
| max_join_size | 1000000 | Автоматическое ограничение количества связанных строк при использовании --i-am-a-dummy. |
Если ввести в командной строке help, программа mysql выведет список
поддерживаемых ею команд:
mysql> help Команды MySQL help (\h) Выводит данный текст. ? (\h) Синоним для help. clear (\c) Команда очистки. connect (\r) Снова подключиться к серверу. Дополнительные аргументы - db и host. edit (\e) Редактировать текущую команду с помощью $EDITOR. ego (\G) Послать текущую команду MySQL серверу и вывести результат по вертикали. exit (\q) Выйти из программы. То же что и quit. go (\g) Послать текущую команду MySQL серверу. nopager (\n) Блокировать пейджер, выводить через stdout. notee (\t) Не добавлять записи в выходной файл outfile. pager (\P) Установить PAGER [to_pager]. Выводить результаты запроса через PAGER. print (\p) Вывести текущую команду. prompt (\R) Изменить формат приглашения на ввод команд mysql. quit (\q) Выйти из программы. rehash (\#) Восстановить таблицу хэшей. source (\.) Запустить на выполнение файл с SQL-сценарием. Указать имя файла в качестве аргумента. status (\s) Получить информацию о статусе сервера. tee (\T) Установить параметр outfile [to_outfile]. Присоединить что-либо к данному выходному файлу. use (\u) Использовать другую базу данных. Указать имя базы данных в качестве аргумента.
Команда pager работает только под Unix.
Команда status дает информацию о текущем соединении и используемом
сервере. Если вы работаете в режиме --safe-updates, команда status также
выведет значения переменных для mysql, которые влияют на ваши запросы.
Для начинающих рекомендуется пользоваться программой mysql с установленным
параметром (введен в MySQL 3.23.11) --safe-updates (или --i-am-a-dummy для
пользователей, выполнивших DELETE FROM table_name, но забывших указать
аргументы в WHERE). В этом случае mysql при установлении соединения
посылает следующую команду MySQL-серверу:
SET SQL_SAFE_UPDATES=1,SQL_SELECT_LIMIT=#select_limit#,
SQL_MAX_JOIN_SIZE=#max_join_size#"
где #select_limit# и #max_join_size# - переменные, которые можно
установить из командной строки mysql. See section 5.5.6 Синтаксис команды SET.
Результат этого следующий:
UPDATE или DELETE, если не указаны
ограничения по ключам в секции WHERE. Однако можно заставить
выполняться команды UPDATE/DELETE, используя оператор LIMIT:
UPDATE table_name SET not_key_column=# WHERE not_key_column=# LIMIT 1;
#select_limit#.
SELECTы, которые могут потребовать для исполнения количество
комбинаций строк более, чем #max_join_size#, будут прерваны.
Несколько полезных советов по использованию клиента mysql:
Некоторые данные более удобочитаемы при выводе их по вертикали вместо обычно используемого горизонтального окна вывода. Например, текст, который больше по длине, чем по ширине, и содержит в себе много новых строк, часто намного легче читать в вертикальном представлении.
mysql> SELECT * FROM mails WHERE LENGTH(txt) < 300 lIMIT 300,1\G
*************************** 1. row ***************************
msg_nro: 3068
date: 2000-03-01 23:29:50
time_zone: +0200
mail_from: Monty
reply: monty@no.spam.com
mail_to: "Thimble Smith" <tim@no.spam.com>
sbj: UTF-8
txt: >>>>> "Thimble" == Thimble Smith writes:
Thimble> Hi. I think this is a good idea. Is anyone familiar with UTF-8
Thimble> or Unicode? Otherwise, I'll put this on my TODO list and see what
Thimble> happens.
Yes, please do that.
Regards,
Monty
file: inbox-jani-1
hash: 190402944
1 row in set (0.09 sec)
--tee=... для mysql или
интерактивно из командной строки вводом команды tee. Все
представляемые на экране данные будут также добавлены к заданному
файлу. Это может быть очень полезно для целей отладки программы.
Утилиту tee можно блокировать из командной строки командой notee.
Повторный запуск команды tee снова включит журналирование. Если при
этом параметр для команды tee не указан, то будет использоваться
предыдущий файл. Следует учесть, что команда tee будет записывать
результаты в файл после каждой выполненной команды, как раз перед
появлением командной строки для ввода очередной команды.
--pager[=...] стал возможным просмотр или поиск
результатов в интерактивном режиме с помощью Unix-программ less, more
или иных подобных. Если явно не указать аргумент в этом параметре,
клиент mysql будет искать переменную окружения PAGER и установит
значение pager. Программу pager также можно запустить из интерактивной
командной строки командой pager и остановить командой nopager. Команда
может принимать аргумент, который является необязательным; pager будет
установлена в значение этого аргумента.. Команда pager может быть
вызвана и без аргумента, но это требует использования опции --pager
или соответствующей установки по умолчанию стандартного вывода stdout.
Команда pager работает только в Unix, поскольку использует функцию
popen(), отсутствующую в Windows. Вместо этого в Windows можно
использовать параметр tee, хотя в ряде ситуаций это менее удобно, чем
применение команды pager.
pager: Ее можно использовать для
записи в файл:
mysql> pager cat > /tmp/log.txtи результаты будут направлены только в файл. Вызываемые командой pager программы могут принимать любые допустимые опции:
mysql> pager less -n -i -SОбратите особое внимание на опцию -S в вышеприведенном примере. Она может быть очень полезна при просмотре результатов. Попробуйте применить ее с горизонтальным выводом (завершайте команды символами '\g', or ';') и с вертикальным (в конце команд - '\G'). Очень громоздкие результаты вывода иногда трудно бывает прочесть с экрана, в этом случае команда less с опцией -S позволит просмотреть результаты в интерактивном режиме слева направо, при этом при появлении строк с длиной больше, чем ширина экрана, их вывод будет продолжен вывод с новой строки. Вывод данных в таких случаях получается более удобочитаемым. При интерактивном вызове команды less с опцией '-S' можно переключать режим ее работы (включено/выключено) из командной строки. Чтобы получить дополнительную информацию относительно less, обращайтесь к описанию команды 'h'.
mysql> pager cat | tee /dr1/tmp/res.txt | \
tee /dr2/tmp/res2.txt | less -n -i -S
tee и
установив pager в less, можно просматривать результаты с помощью
Unix-команды less и при этом одновременно производить запись в файл.
Разница между служебной Unix-утилитой tee, используемой в программе
pager, и встроенной в клиент mysql командой tee заключается в том, что
встроенная команда tee работает даже в том случае, если в Unix утилита
tee недоступна. Встроенная команда tee также ведет запись всего, что
выводится на экран, тогда как утилита Unix tee, используемая с pager,
не делает этого в достаточном объеме. Последнее, но тем не менее
важное обстоятельство состоит в том, что интерактивная команда tee
более удобна для переключения режимов работы включено/выключено, если
при записи в файл иногда возникает необходимость отключить эту
функцию.
Можно изменить формат приглашения в командной строке клиента mysql.
Возможны следующие опции приглашения:
| Опция | Описание |
| \v | версия mysqld |
| \d | имя используемой базы данных |
| \h | имя хоста, к которому производится подсоединение |
| \p | номер порта, через который производится подсоединение |
| \u | имя пользователя |
| \U | полный адрес username@host |
| \\ | обратный слэш `\' |
| \n | символ новой строки |
| \t | табуляция |
| \ | пробел |
| \_ | пробел с подчеркиванием |
| \R | время по военному часовому поясу (0-23) |
| \r | время по стандартному часовому поясу (1-12) |
| \m | минуты |
| \y | два разряда года |
| \Y | четыре разряда года |
| \D | полный формат даты |
| \s | секунды |
| \w | день недели в трехбуквенном формате (Mon, Tue, ...) |
| \P | Время до полудня/после полудня (am/pm) |
| \o | месяц в числовом формате |
| \O | месяц в трехбуквенном формате (Jan, Feb, ...) |
| \c | Счетчик, подсчитывающий количество вводимых команд |
Символ `\' за которым следует любая другая буква, просто дополняет эту букву.
Установить параметры приглашения можно следующими способами:
MYSQL_PS1 для строки приглашения.
Например:
shell> export MYSQL_PS1="(\u@\h) [\d]> "
mysql. Например:
[mysql] prompt=(\u@\h) [\d]>\_
--prompt из командной строки утилиты mysql.
Например:
shell> mysql --prompt="(\u@\h) [\d]> " (user@host) [database]>
prompt (или \R) для изменения настроек
приглашения в интерактивном режиме. Например:
mysql> prompt (\u@\h) [\d]>\_ PROMPT set to '(\u@\h) [\d]>\_' (user@host) [database]> (user@host) [database]> prompt Возвращение к исходным (по умолчанию) настройкам PROMPT в утилите mysql> mysql>
Prime Hosting. Хостинг, VPS - Хостинг, Аренда серверов, dedicated server: