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

Мне довольно часто, даже постоянно приходится обращаться к разным базам данных 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 со всеми вкусностями типа поиска и т.д.: mysql pager less

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

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

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

UPD. Поскольку статья писалась для использования в linux системах, а вопросы затронутые в ней интересуют и пользователей Windows, считаю необходимым добавить что: