Pull to refresh

Comments 17

вроде бы mytop умер уже давно… последнее изменение было в 2006 году
он зависит от более старой версии python, а на новую его не перепортировали
2007-й и зависит от Perl библиотек, а точнее от: DBI, Term::ReadKey, Time::HiRes, Term::ANSIColor. Актуален и сейчас.

Можно еще комментарии использовать в запросах SQL:
SELECT /* pid script_name*/ count(*) FROM `table`;
или
/* pid script_name*/ SELECT count(*) FROM `table`;
UFO landed and left these words here
Итак вся статься сводится к команде mysql -u -p -h -e «SHOW PROCESSLIST;» | perl -lne 'print $1 unless !/(:\d+)/' | while read port; do netstat -tp | grep $port; done, а остальное предлагается самим догуглить… супер!
> И, естественно, не будет возможности узнать процесс, запущенный от другого пользователя

netstat -a
UFO landed and left these words here
офигеть, почему комментарий сам отправился?!
вот коды

/usr/bin/watch -n 3 «mysql -u<user> -p<password> [<db>] -h<host> -A -e 'SHOW PROCESSLIST'»

или полный список
/usr/bin/watch -n 3 «mysql -u<user> -p<password> [<db>] -h<host> -A -e 'SHOW FULL PROCESSLIST'»
Можно еще параметры соединения кинуть в .my.cnf ;)
Извиняюсь а про какие именно параметры идет речь?
Какие из них мошки помочь?
$ cat > ~/.my.cnf <<EOF
[client]
host = 127.0.0.1
user = root
password = password4root
EOF
$ chmod 600 ~/.my.cnf
$ mysql -A -e 'SHOW FULL PROCESSLIST'

Избавитесь от: -u -p -h
ааа эти…

Min0R у меня тогда встречный вопрос. а можно как-нибудь забить несколько host/login/password
Мне надо подключаться как минимум к 2-3м разным базам данных на разных хостах для проверки репликации и для тестирования, или так не получиться???

Мой выход из этой ситуации это создать пару shell скриптов которые выполняют предложенные мною строчки, поэтому я их не набираю ручками каждый раз
Shell хороший вариант, но в окружении bash можно строить алиасы на команды — очень хорошая фича.

Строим алиасы команд:

$ vim ~/.bashrc
#добавляем
alias mysql1='mysql -h 192.168.1.1 -uroot1 -ppassword4root1'
alias mysql2='mysql -h 192.168.1.2 -uroot2 -ppassword4root2'
alias mysql3='mysql -h 192.168.1.3 -uroot3 -ppassword4root3'

Сохраняемся и перегружаем сессию. Теперь у Вас будут доступны команды из bash, используйте Таб для автозаполнения: mysql, mysql1, mysql2, mysql3.

Далее предложил бы сразу вывести в приглашение mysql монитора имя сессии и БД, это можно сделать путем добавления дополнительных параметров в ~/.my.cnf:

$ vim ~/.my.cnf
#добавляем
[mysql]
prompt=mysql:\\u@\\h\\ \\d>

В результате Вы получите:
$ mysql
mysql:root@127.0.0.1 (none)>use mysql
Database changed
mysql:root@127.0.0.1 mysql>

Надеюсь без ошибок. )
И еще используйте screen для одновременного мониторинга состояния СУБД в реальном времени.
даааа, про алиасы я что то забыл. у меня просто скрипты с аналогичным текстом… Спасибо за совет, попробую переделать.

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

<<<< .my.conf
[client]
default-character-set= utf8
#pager = less -niS
pager = less -iMSx4 -FX
prompt =(\u@\h) [\d]>
>>>> .my.conf

Sign up to leave a comment.

Articles