Pull to refresh

Comments 55

Укажите пожалуйста под какой ОС Вы проводили эти настройки. А то ведь клиент mysql под разными ОС работает, и выглядеть такой тюнинг может по-разному.

Идея с promt мне тоже понравилась, Вы правы, так гораздо удобнее.
Тюнинг предполагается для linux, хотя, думаю, prompt без труда можно настроить и под Windows
добавил поскриптум с ссылкой на less для windows
автокомплит частично есть. По крайней мере под Ubuntu. Дополняет названия полей, таблиц, но не синтаксис.
угу знаю, юзаю, но хотелось бы именно всего…
UFO landed and left these words here
спасибо за замечание, поправил. По утро еще и не такие очепятки случаются
На Ubuntu конфиг файл имеет имя ~/.my.cnf

А в остальном — отлично!
Ну так можно в юзерском конфиге прописать, а можно глобально. Разницы нет.
После 3 лет счастливого пользования Navicat, консольный клиент для меня — дикость)
Тем не менее, информация весьма полезна)
Не все задачи можно решить без консоли, некоторые в ней решаются просто быстрее, а некоторые без нее решить просто невозможно. Например базовая ситуация, когда на голом сервере только root пользователь без доступа в сеть, и все.

Но вообще Navicat хорош :) Умеет все что умеет MySQL Query Browser и еще чуть чуть, для разработки очень удобно
Потому и написал вторую строку своего коммента) Так сказать, бывают случаи)
+1
А еще вывод консольный клиент легко вставляется в скрипты.
Я уже много лет никак не слезу с code.google.com/p/sqlyog/.
Я перелез на Ubuntu, в бесплатной версии появилось окно «купи меня» при запуске, а я лучше найти не могу… В wine работает чудесно (тестируют специально).
Стандартные GUI от mysql аляповатые, а все другие какие-то нефичастые :(
UFO landed and left these words here
Бесплатный Community Edition, который при запуске показывает nagscreen, сообщающий, что есть версии попрофессиональней.
Слушайте, удобная штука однако, спасибо за наводку.
Лично я тоже считал его лучшим инструментом для работы с бд очень долгое время, но недавно столкнулся с проблемами с кодировкой которые решить не смог и пришлось от него отказываться. Хз откуда была проблема, база вся в ютф8, дамп базы в ютф8, но ни в какую не импортируется.
:(
на сервере пока пользуюсь phpMyAdmin для мелких задач или консолью для чего-то покрупнее
на локали пользуюсь чем придется пока не нашел достойной замены :(
Для mysql вместо «less -niS» лучше использовать «less -iMSx4 -FX», более информативно и удобно.

Для postgresql хинт от Merlin Moncure:

#to profile (~/.zshrc)
export PAGER=less
export LESS="-iMSx4 -FX"

#to ~/.psqlrc
\timing
\pset pager always


необходимые для себя опции каждый сам подберет, я так думаю.
*бормочет* вы еще оракловый клиент не видели…
+1
тоже искал что нибудь потипу sqlplus
что бы во внешнем редакторе можно было править
сохранять комманды в файл, append…
еще как видели. Только речь пока про mysql
По сабжу — спасибо, полезно.

[offtop] Лучше выключить прозрачность в терминале: глазам легче станет [/offtop]
на таком уровне прозрачность не мешает, и частенько нужно когда пишу в консоли видеть документ под ней — такая уж работа, а второй монитор не дают
Небольшая проблема — mysqladmin начал ругаться на неизвестные переменные pager и prompt.

Гуглить сильно неохота — кто-нибудь знает, как помирить предложенный конфиг с mysqladmin-ом?
что-то напутал в синтаксисе? посмотри что бы переменные были указаны обязательно в блоке [client]
Не-не, все правильно сделал. В mysql все прекрасно выглядит, а когда запускаю что-нибудь вроде mysqladmin -uroot create mynewdatabase получаю по голове:
mysqladmin: unknown variable 'pager=less -n -i -S'
Почему только так?!

Или это вариант, как обойтись без mysqladmin-а?
мб пробел между 'pager' и '='? Судя по сообщению mysqladmin считает за имя переменной всю строку 'pager=less -n -i -S'
А почему тогда mysql не ругается?

Вот как выглядит мой конфиг: pastebin.com/f6c92e12d

Судя по ошибке, с проблемами вокруг '=' клиент справляется прекрасно.

Я попробовал разные варианты расположения пробелов — ни в какую
хз. я не сталкивался с подобным. Но я и mysqladmin не так часто пользую
проблема есть. Самый простой выход перенести определение этих переменных из ~/.my.cnf непосредственно в строку запуска например:

user$mysql -u vasia -p --pager='less -n -i -S'
попробуйте завернуть в кавычки в my.cnf. Вот так, например: prompt = '\u@\h \d > '
это, кстати, помогает добавть пробел в конце промта, без обрамляющих кавчек пробелы в начале и конце удаляются.
надо вышеназванные переменные помещать не с секцию [client] а в секцию [mysql]
А как не переподключаясь к mysql вернуть переменную pager на дефолтную?
просто пишешь «pager» без параметров
(www@192.168.1.33) [poll]>pager
а на самом деле не так, а вот так:
(www@192.168.1.33) [poll]>pager
PAGER set to stdout
(www@192.168.1.33) [poll]>
идиот!

а на самом деле не так, а вот так:
(www@192.168.1.33) [poll]>nopager
PAGER set to stdout
(www@192.168.1.33) [poll]>
Спасибо автору. От себя добавлю, что если вы часто используете консольный клиент для разработки, можно добавить настройки БД по умолчанию:

[client]
default-character-set = 'utf8'
pager = 'less -n -i -S'
prompt = '\u@\h \d > '
socket = '/Applications/MAMP/tmp/mysql/mysql.sock'
user = 'root'
password = '123'
Все хорошо, но если захотите сделать mysqldump получите ошибку mysqldump: unknown variable 'prompt=(\u@\h) [\d]>'
что бы это исправить, секцию нужно назвать не [client], а [mysql]
Конечно можно эти команды вводить в интерактивном режиме, можно их прописать как системные переменные, но все же удобнее один раз прописать их в файл ~/my.cnf например так:

Простите, а точно файл должен быть ~/my.cnf? У меня Fedora-12, ожидает файл ~/.my.cnf (начинается на точку). man mysql тоже говорит про:

You can set the prompt option in the [mysql] group of any MySQL option file, such as /etc/my.cnf or the .my.cnf file in your home directory.

Вы правы, у меня там была опечатка. Поправил.
Only those users with full accounts are able to leave comments. Log in, please.