Pull to refresh

Тюнинг консольного клиента MySQL

Reading time2 min
Views4.5K
Мне довольно часто, даже постоянно приходится обращаться к разным базам данных MySQL. Испробовав немало разных GUI клиентов я понял, что они все меня не удовлетворяют. То проблемы с кодировкой, то отсутствует автодополнение кода, то не работает история запросов. В общем пришел я к использованию консольного клиента mysql. И вроде все хорошо, но была пара проблем.
Во-первых заходя в очередную закладку с открытым соединением mysql я тупо смотрел в строку приглашения и старался понять на каком я сервере нахожусь и к какой базе данных подключен. Во-вторых при выводе большого количества полей или при выводе поля с длиной превышающей ширину терминала получалась каша из черточек, букв и палочек :). На днях я покопался в документации и с кое-чем разобрался.
Итак приглашение. Можно интерактивно переключить с помощью команды prompt. Например так:

mysql>
mysql> prompt (\u@\h) [\d]>
PROMPT set to '(\u@\h) [\d]>'
(www@192.168.1.33) [poll]>


где \u — пользователь, \h — хост и \d — база данных

Теперь насчет вывода. Переменная pager определяет через какую программу будет представлен вывод результатов запросов. После некоторых экспериментов с more и less, я пришел к следующему варианту:

(www@192.168.1.33) [poll]>pager less -n -i -S
PAGER set to 'less -n -i -S'


В результате запрос увидим в привычном интерфейсе less со всеми вкусностями типа поиска и т.д.:
image

Конечно можно эти команды вводить в интерактивном режиме, можно их прописать как системные переменные, но все же удобнее один раз прописать их в файл ~/.my.cnf например так:

[client]
default-character-set= utf8
pager = less -n -i -S
prompt =(\u@\h) [\d]>


Надеюсь вам понравится подобный тюнинг и вы возьмете на вооружение мои советы.

UPD. Поскольку статья писалась для использования в linux системах, а вопросы затронутые в ней интересуют и пользователей Windows, считаю необходимым добавить что:
1. В Windows считывание принятых по умолчанию параметров MySQL производится из следующего файла:
C:\my.cnf
2. less для Windows можно установить отдельно. Ссылка — http://gnuwin32.sourceforge.net/packages/less.htm
Tags:
Hubs:
Total votes 61: ↑56 and ↓5+51
Comments55

Articles