mysql: увидеть все открытые подключения к данной базе данных?

123

Имея административные разрешения im mysql, как я могу увидеть все открытые подключения к определенной базе данных на моем сервере?

ЭЛЕКТРОДИСТАНЦИОННАЯ СИСТЕМА УПРАВЛЕНИЯ
источник

Ответы:

169

Команда

SHOW PROCESSLIST

К сожалению, не имеет параметров сужения . Если они вам нужны, вы можете сделать это из командной строки:

mysqladmin processlist | grep database-name
Дэвид Рабиновиц
источник
23
mysqladmin -i 1 processlistдля обновления вывода каждую секунду.
chanux
5
если вам нужно пройти аутентификациюmysqladmin --user=[USERNAME] --password=[PASSWORD] -i 1 processlist
Том Дженкинсон
2
@TomJenkinson Я обычно не использую его, потому что я не хочу, чтобы пароль появлялся в истории командной строки или в списке процессов (ps aux)
Дэвид Рабиновиц
Как альтернатива @chanux, с немного более чистым выводом imhowatch -n1 mysqladmin processlist
Джозия
64

Также вы можете использовать:

mysql> show status like '%onn%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| Aborted_connects         | 0     |
| Connections              | 303   |
| Max_used_connections     | 127   |
| Ssl_client_connects      | 0     |
| Ssl_connect_renegotiates | 0     |
| Ssl_finished_connects    | 0     |
| Threads_connected        | 127   |
+--------------------------+-------+
7 rows in set (0.01 sec)

Не стесняйтесь использовать Mysql-server-status-variables или Too-many-connections-problem

wiseland
источник
2
В любом случае регистр нечувствителен, почему %onn%вместо %conn%?
Pacerier
Конечно, вы можете использовать% conn% вместо% onn%. И да, в основном это нечувствительно к регистру. Информацию о чувствительности к регистру см. На
странице
1
Это показывает статистические / исторические данные. Речь идет об открытых на данный момент подключениях.
Мэтью
32

Это должно помочь с новейшими версиями MySQL:

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE DB = "elstream_development";

Вадим Темиров
источник
3
Это единственное правильное, помимо выбранного, которое можно сделать с помощью SQL вместо mysqladmin.
dresende
2
Спасибо, это тот ответ, который я хотел.
1
Этот ответ очень полезен, покажет все соединения и его запросы, что может очень помочь в моем случае.
Хаммад Хан
10

Вы можете вызвать команду MySQL show status

показать статус как «Conn%»;

Для получения дополнительной информации прочтите Показать открытые подключения к базе данных.

adatapost
источник
3
Извините, но это решение показывает только одно значение. Я предпочитаю команду «показать статус как '% onn%';» который находится на той же указанной веб-странице.
Рауль Луна
@RaulLuna, все равно регистр нечувствителен, почему %onn%вместо %conn%?
Pacerier
@Pacerier Это нечто большее: это на всякий случай, когда слово «соединение» появляется как часть большего слова (например, max_used_connections). Конечно, вы можете использовать статус показа, например, "% conn%"
Рауль Луна,
@RaulLuna, Если слово "соединение" появляется как часть большего слова, оба %onn%и %conn%все равно будут работать. Нет разницы.
Pacerier 02
1
почему это помечено? он не показывает текущие открытые соединения.
Джеймс
3

SQL: показать полный список процессов;

Это то, что делает MySQL Workbench.

justAMySQL_starter
источник
3

В MySql следующий запрос должен показать общее количество открытых соединений:

show status like 'Threads_connected';
Аян
источник
2

Если вы используете систему * nix, подумайте также о mytop .

Чтобы ограничить результаты одной базой данных, нажмите «d», когда она запущена, затем введите имя базы данных.

Pryo
источник
Разве это приложение не используется для show processlistвнутренних целей?
Pacerier
Я верю, что это так. mytop просто аккуратно представляет информацию с опциями фильтрации. В прошлом я много использовал его при анализе проблем с производительностью. Кроме того, в экстренных случаях быстрее войти в систему, запустить mytop и сразу увидеть, что происходит. Очень похоже на бег "наверху".
Pryo
Используя больше компонентов, вы подвергаете себя большему количеству ошибок. Поскольку show processlistвывод удовлетворяет, зачем вам это нужно mytop?
Pacerier 02
2
Зачем использовать "top", если "ps aux" удовлетворяет?
Pryo
0

В браузере запросов щелкните правой кнопкой мыши базу данных и выберите список процессов.

Канагарадж М
источник
Это специфично для клиента.
Нино Шкопац