mysql:查看给定数据库的所有打开连接?

fly*_*ire 117 mysql database

使用mysql的管理权限,如何查看服务器中特定数据库的所有打开连接?

Dav*_*itz 158

命令是

SHOW PROCESSLIST
Run Code Online (Sandbox Code Playgroud)

不幸的是,它没有缩小参数.如果需要它们,可以从命令行执行:

mysqladmin processlist | grep database-name
Run Code Online (Sandbox Code Playgroud)

  • `mysqladmin -i 1 processlist`每秒刷新一次输出. (21认同)
  • 如果您需要验证`mysqladmin --user = [USERNAME] --password = [PASSWORD] -i 1 processlist` (4认同)
  • @TomJenkinson我通常不使用它,因为我不希望密码出现在命令行历史记录或进程列表中(ps aux) (2认同)

wis*_*and 58

您也可以使用:

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)
Run Code Online (Sandbox Code Playgroud)

随意使用 Mysql-server-status-variablesToo-many-connections-problem

  • 这显示统计/历史数据。问题是关于当前打开的连接。 (5认同)
  • 无论如何都不区分大小写,为什么用%onn%而不是%conn%? (2认同)

Vad*_*rov 30

这应该是最新的MySQL版本的技巧:

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

  • 除了所选择的,这是唯一正确的,可以使用SQL而不是`mysqladmin`来完成. (3认同)
  • 谢谢,这是我想要的答案。 (2认同)

ada*_*ost 9

您可以调用MySQL show status命令

显示状态如'Conn%';

有关更多信息,请阅读显示打开的数

  • 抱歉,此解决方案仅显示一个值.我更喜欢命令"show status like'%onn%';" 它位于同一个网页中. (3认同)

Aya*_*yan 7

在 MySql 中,以下查询应显示打开连接的总数:

show status like 'Threads_connected';
Run Code Online (Sandbox Code Playgroud)


小智 6

SQL:显示完整的进程列表;

这就是 MySQL Workbench 的作用。